我有一个功能beforeMarshal ()位于ModelTable.php.此函数在保存请求数据之前正确执行,但每次保存数据时都会收到php警告.
public function beforeMarshal(Event $event, ArrayObject $data, ArrayObject $options)
{
$ip = $data['ip'];
$data['iplong'] = ip2long($ip);
}
Run Code Online (Sandbox Code Playgroud)
警告(4096):传递给App\Model\Table\ServersTable :: beforeMarshal()的参数1必须是App\Model\Table\Event的实例,给出Cake\Event\Event的实例
警告(4096):参数2传递给App\Model\Table\ServersTable :: beforeMarshal()必须是App\Model\Table\ArrayObject的实例,给出ArrayObject的实例
警告(4096):传递给App\Model\Table\ServersTable :: beforeMarshal()的参数3必须是App\Model\Table\ArrayObject的实例,给出ArrayObject的实例
如果我将debug设置为false,一切都很好,但这不是一个很好的解决方案.
如何在github.com上向我的公共存储库添加贡献者?我试图在github.com的设置菜单中找到它,但只有添加协作者的可能性.如果我正确理解贡献者和协作者之间的区别,我需要添加一个贡献者.
我使用的是PHP 7.2.我从PHP手册的数组章节中看到了以下注释
取消引用不是字符串的标量值的数组静默产生NULL,即不发出错误消息.
我理解如何取消引用数组文字,但我无法理解"数组解除引用"如何在boolean/integer/float/string类型的标量值上工作?
如果你看一下PHP手册本身的代码示例,你可以注意到矛盾,因为根据手册,整数类型的值不是默默地产生NULL.
<?php
function getArray() {
return array(1, 2, 3);
}
$secondElement = getArray()[1];
var_dump($secondElement); // int(2)
//According to the manual I expected it to be NULL as it's not of type string
Run Code Online (Sandbox Code Playgroud)
如何取消引用boolean/integer/float类型的标量值与取消引用string类型的值不同?
我想在JavaScript中编写一个递归函数,该函数返回一个数组,其元素反转。此代码生成以下错误:
未定义不是函数
function reverseArray (toBeReversed){
var reversed = [];
function reverser (toBeReversed){
if (toBeReversed.length == 1)
reversed.push(toBeReversed[0]);
else {
reversed.push(toBeReversed.lastOfIndex(0)); //error on this line
reverser(toBeReversed.slice(-1));
}
}
reverser(toBeReversed);
return reversed;
}
Run Code Online (Sandbox Code Playgroud) 我想从这个字符串创建一个数组,存储在数据库中:
$string = '"2148" => "50","2050" => "2","2403" => "1"';
$id_values = explode('=> "', $string);
foreach($id_values as $id => $value)
{
$value_to_print .= '<img src="images/item_values/'.$id.'.gif"> - '.$value.'';
}
echo $value_to_print;
Run Code Online (Sandbox Code Playgroud)
手动定义数组按预期工作:
$id_values = array("2148" => "50","2050" => "2","2403" => "1");
Run Code Online (Sandbox Code Playgroud) 我正在使用Symfony2并尝试访问邮件服务,但不断收到此错误消息:
{"errors":{"code":500,"message":"错误:在非对象上调用成员函数get()"}}
我的代码:
<?php
namespace TestBundle\UserBundle\Utilities;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class EmailServiceClass extends Controller
{
public function sendEmail($subject, $to, $body)
{
$msg = \Swift_Message::newInstance();
$msg->setSubject($subject);
$msg->setTo($to);
$msg->setBody($body);
$msg->setContentType('text/html');
$msg->setCharset('utf-8');
$msg->setFrom('test@gmail.com');
$this->get('mailer')->send($msg);
}
}
Run Code Online (Sandbox Code Playgroud)
错误来自这一行: $this->get('mailer')->send($msg);
根据我的理解,当我扩展Controller调用时,我应该能够访问此服务而无需专门创建服务.
考虑一下:
var items = {};
var id = 'varID';
if (typeof items.id == 'undefined') {
items.id = {};
}
Run Code Online (Sandbox Code Playgroud)
据我所知,这将空属性分配id给普通对象items.
如何使用变量将属性分配给varID普通对象?itemsid
在这个问题之后,获取MySQL数据库中单个列的所有值的最佳方法是什么?
例如,所有值:
SELECT Name FROM Customers
Run Code Online (Sandbox Code Playgroud)
寻找一个不弃用的答案.
php ×5
arrays ×3
javascript ×2
cakephp ×1
cakephp-3.0 ×1
dereference ×1
explode ×1
github ×1
jquery ×1
mysql ×1
null ×1
recursion ×1
scalar ×1
symfony ×1
warnings ×1