0

I've created myself a helper class called Perm that is meant to return user of current session (I know, I could use default auth/user, but that wouldn't be as much of a fun as creating one from scratch!)

..sadly, the created helper class only works inside a view, but doesn't work at all in controllers.. which kinda misses the point.

Whenever I'm trying to use it inside a controller, it pops:

"Class 'App\Http\Controllers\Perm' not found"

I would most appreciate any help.

HelperServiceProvider.php:

namespace App\Providers;

use Illuminate\Support\Facades\View;
use Illuminate\Support\ServiceProvider;

class HelperServiceProvider extends ServiceProvider
{
    public function boot()
    {
        //
    }

    public function register()
    {
        foreach( glob (app_path().'/Helpers/*.php' ) as $filename ) // register all helpers
        {
            require_once($filename);
        }
    }
}

Helpers/PermHelper.php:

use App\User;

class Perm
{
    public static function user()
    {
        if(!session('user_id')) return null;
        return User::find(session('user_id'));
    }
}

Portion of config/app.php, the 'providers' array:

// Custom
App\Providers\HelperServiceProvider::class,
4

1 回答 1

0

If you are having this issue aswell. Use proper namespacing.

于 2017-09-13T19:18:41.293 回答