从作曲家添加的包中调用未定义的方法

Call to undefined method from composer added package

我正在尝试将 SlackBot class 与我的 Laravel 5 应用程序一起使用。

但是我收到了这个错误:

Call to undefined method Mpociot\SlackBot\Facades\SlackBot::initialize()

这是我的控制器:

use SlackBot;

public function slack_bot()
    {

        $slackbot = new SlackBot();
        $slackbot->initialize('xoxb-XXX');

    }

我试图调试哪些方法可用:

$methods = get_class_methods($slackbot);
print_r($methods);

我得到了这个:

Array ( [0] => swap [1] => shouldReceive [2] => getFacadeRoot [3] => clearResolvedInstance [4] => clearResolvedInstances [5] => getFacadeApplication [6] => setFacadeApplication [7] => __callStatic )

这与githubclass]2.

中定义的方法有很大不同

我该如何解决这个问题?


我做了什么:

我正在关注这个tutorial

我运行作曲家要求mpociot/slackbot

然后我添加到config/app。php服务提供商:

Mpociot\SlackBot\SlackBotServiceProvider::class,

和别名/门面:

'SlackBot' => Mpociot\SlackBot\Facades\SlackBot::class

您得到的是 Facade 的实例,而不是 真实的 class.

替换你的

    $slackbot = new SlackBot();
    $slackbot->initialize('xoxb-XXX');

与:

    $slackbot = SlackBot::initialize('token');