1

だから私はこのアプリバインディングを持っていますroutes.php:

App::bind('HybridAuth', function()
{
    return new Hybrid_Auth(Config::get('hybridauth'));
});

そして私のコントローラーのこのコンストラクター:

public function __construct(UserRepository $user, HybridAuth $oauth)
{
    $this->user = $user;
    $this->oauth = $oauth;
}

コントローラーでまだClass HybridAuth not foundエラーが発生するのはなぜですか? 先ほど行ったアプリ バインディングを使用しないでください。

4

2 に答える 2

0

そのoAuthクラスがどのようにロードされるか(または自動ロードされないか)について詳しく知らなくても、クラスがどこにあるかをLaravelに伝える必要があるかもしれHybrid_Authません。そのようなバインディング (コントローラに Laravel の魔法を散りばめたもの) は、オートローディングの設定に代わるものではないことに注意してください。PHP は、クラスを見つける方法を知る必要があります。

App::bind('HybridAuth', function()
{
    return new Hybrid_Auth(Config::get('hybridauth'));
});

次のようになる必要があるかもしれません:

App::bind('HybridAuth', function()
{
    return new \Some\Namespace\Hybrid_Auth(Config::get('hybridauth'));
});
于 2013-07-15T22:00:51.990 に答える