PHP回调 - 数组或箭头语法?

时间:2017-06-29 08:20:10

标签: php

我们假设我们有这个功能

<?php
function run($callback)
{
    $callback($some, $params);
}

怎么称呼它?

run($someObject->callback);

或者更确切地说

run([$someObject, 'callback']);

第一个对我来说似乎更好,特别是因为代码建议,但在文档中使用数组表示法。

为什么第一个比第二个差?

1 个答案:

答案 0 :(得分:1)

数组表示法更好,因为箭头符号不起作用。 PHP中的函数不是可以传递的第一类对象。每当你传递一个函数&#34;时,你必须按名称传递它;即只是它的名字。要传递对象方法,您需要使用callable pseudo type notation传递对象和方法名称。

相关问题