Laravel 4 - 未找到创建的单例类

时间:2013-06-29 06:19:08

标签: php inversion-of-control laravel

我继续前往Laravel 4。我正在尝试开发一个在主视图上动态创建的菜单。为此,我找到了this article,我正在尝试实现它。

到目前为止,我已经获得了代码,但这部分似乎导致了问题:

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'

所以它似乎没有创建类。我做了一个作曲家转储自动加载但没有效果。

我必须承认我并不完全了解ioc所以请保持温柔。我在这里缺少简单的步骤吗?

2 个答案:

答案 0 :(得分:1)

尝试从App :: before()中解开代码块。暂时将代码块放在routes.php文件的顶部,看看会发生什么。如果这样可以解决问题,请查看将代码包装在“服务提供者”类中。这样它就不会“弄乱”路线文件,并且会很好地隐藏起来。

答案 1 :(得分:0)

我放弃了尝试实现代码 - 我重新编写而没有创建单例。

它可能效率不高但现在可以使用

TA