返回PHP中的静态函数的直接引用

时间:2015-10-28 10:33:04

标签: php function reference

现在返回对静态函数的引用我返回对closure的引用(内部引导函数)。 Closure只调用静态函数。

class AuthServiceProvider extends ServiceProvider
{
    private static function createEloquentLdapProvider($app) {...}

    public function boot()
    {
        Auth::extend('databaseLdapCredentials', function($app) {
            return self::createDatabaseLdapProvider($app);
        });
    });
}

在C#中,我可以通过名称返回对静态函数的直接引用。我也试着在PHP中使用函数名:

    public function boot()
    {
        Auth::extend('databaseLdapCredentials', self::createDatabaseLdapProvider);
    });

但它不起作用。 PHP认为self::createDatabaseLdapProvider是静态变量(不是对静态函数的引用)。

那么我如何在PHP中返回对静态函数的直接引用而不使用闭包,在这种情况下是拐杖?

1 个答案:

答案 0 :(得分:0)

我认为你有一个错误,你必须使用$ this作为:

return this->createDatabaseLdapProvider($app);