Ray
Ray

Reputation: 3060

Laravel 4 - created singleton class not found

My journey into Laravel 4 continues. I'm trying to develop a menu that is dynamically created on the master view. To do this I found this article, and I'm trying to implement it.

I've got the code so far but this part appears to be causing a problem:

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);
});

WHen I try to run the app I get a class not found 'myApp'

So it appears it's not creating the class. I did a composer dump-autoload but no effect.

I must admit I don't fully understand the ioc so please be gentle. Are there simple steps I am missing here?

Upvotes: 0

Views: 526

Answers (2)

Ray
Ray

Reputation: 3060

I gave up trying to implement the code - I re-wrote without creating a singleton.

It may not be as efficient but it works for now

Ta

Upvotes: 0

kfriend
kfriend

Reputation: 2614

Try unwrapping the block of code from within App::before(). Temporarily place the block of code at the top of the routes.php file and see what happens. If this fixes the issue, look into wrapping your code in a "service provider" class. That way it won't "muck up" the routes file, and will be tucked away nicely.

Upvotes: 1

Related Questions