我们假设我们有这个功能
<?php
function run($callback)
{
$callback($some, $params);
}
怎么称呼它?
run($someObject->callback);
或者更确切地说
run([$someObject, 'callback']);
第一个对我来说似乎更好,特别是因为代码建议,但在文档中使用数组表示法。
为什么第一个比第二个差?
答案 0 :(得分:1)
数组表示法更好,因为箭头符号不起作用。 PHP中的函数不是可以传递的第一类对象。每当你传递一个函数&#34;时,你必须按名称传递它;即只是它的名字。要传递对象方法,您需要使用callable
pseudo type notation传递对象和方法名称。