0

Laravel 4 への旅は続きます。マスター ビューで動的に作成されるメニューを開発しようとしています。これを行うために、この記事を見つけ、それを実装しようとしています。

これまでのコードを取得しましたが、この部分が問題を引き起こしているようです:

App::before(function ($request) {
    // $myApp Singleton object
    App::singleton('myApp', function () {
        $app = new stdClass;
        $app->title = "downsCMS";
        if (Sentry::check()) {
            $app->user = Sentry::getUser();
            $app->isLogedin = TRUE;

        } else {
            $app->isLogedin = FALSE;
            $app->user = FALSE;
        }
        return $app;
    });
    $app = App::make('myApp');
    View::share('myApp', $app);
});

アプリを実行しようとすると、class not found 'myApp'

したがって、クラスを作成していないようです。composer dump-autoload を実行しましたが、効果はありません。

私は ioc を完全には理解していないことを認めなければならないので、優しくしてください。ここで見逃している簡単な手順はありますか?

4

2 に答える 2

1

App::before() 内からコードのブロックをアンラップしてみてください。コード ブロックを一時的に routes.php ファイルの先頭に配置し、何が起こるかを確認します。これで問題が解決する場合は、「サービス プロバイダー」クラスでコードをラップすることを検討してください。そうすれば、routes ファイルが「ごちゃごちゃ」することもなく、きれいに隠されます。

于 2013-06-29T17:03:05.233 に答える
0

コードを実装しようとするのをあきらめました - シングルトンを作成せずに書き直しました。

それほど効率的ではないかもしれませんが、今のところ機能しています

于 2013-07-15T19:29:44.470 に答える