繁体   English   中英

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

[英]return direct reference to static function in PHP

现在返回对静态函数的引用,我返回对闭包的引用(内部启动函数)。 闭包只是调用静态函数。

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中返回对静态函数的直接引用而又不使用闭包(在这种情况下是拐杖)?

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

return this->createDatabaseLdapProvider($app);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM