src/Defender/Providers/DefenderServiceProvider.php
protected function registerRepositoryInterfaces()
    {
        $this->app->bind('Artesaos\Defender\Contracts\Permission', function ($app) {
            return $app->make($this->app['config']->get('defender.permission_model'));
        });
        $this->app->bind('Artesaos\Defender\Contracts\Role', function ($app) {
            return $app->make($this->app['config']->get('defender.role_model'));
        });

        $this->app->singleton('defender.role', function ($app) {
            return new EloquentRoleRepository($app, $app->make(\Artesaos\Defender\Contracts\Role::class));
        });

        $this->app->singleton('Artesaos\Defender\Contracts\Repositories\RoleRepository', function ($app) {
            return $app['defender.role'];
        });

        $this->app->singleton('defender.permission', function ($app) {
            return new EloquentPermissionRepository($app, $app->make(\Artesaos\Defender\Contracts\Permission::class));
        });

        $this->app->singleton('Artesaos\Defender\Contracts\Repositories\PermissionRepository', function ($app) {
            return $app['defender.permission'];
        });

        $this->app->singleton('defender.user', function ($app) {
            $userModel = $app['config']->get('defender.user_model');

            return new EloquentUserRepository($app, $app->make($userModel));
        });

        $this->app->singleton('Artesaos\Defender\Contracts\Repositories\UserRepository', function ($app) {
            return $app['defender.user'];
        });
    }
protected function registerRepositoryInterfaces()
    {
        $this->app->bind('Artesaos\Defender\Contracts\Permission', function ($app) {
            return $app->make($this->app['config']->get('defender.permission_model'));
        });
        $this->app->bind('Artesaos\Defender\Contracts\Role', function ($app) {
            return $app->make($this->app['config']->get('defender.role_model'));
        });

        $this->app->singleton('defender.role', function ($app) {
            return new EloquentRoleRepository($app, $app->make(\Artesaos\Defender\Contracts\Role::class));
        });

        $this->app->singleton('Artesaos\Defender\Contracts\Repositories\RoleRepository', function ($app) {
            return $app['defender.role'];
        });

        $this->app->singleton('defender.permission', function ($app) {
            return new EloquentPermissionRepository($app, $app->make(\Artesaos\Defender\Contracts\Permission::class));
        });

        $this->app->singleton('Artesaos\Defender\Contracts\Repositories\PermissionRepository', function ($app) {
            return $app['defender.permission'];
        });

        $this->app->singleton('defender.user', function ($app) {
            $userModel = $app['config']->get('defender.user_model');

            return new EloquentUserRepository($app, $app->make($userModel));
        });

        $this->app->singleton('Artesaos\Defender\Contracts\Repositories\UserRepository', function ($app) {
            return $app['defender.user'];
        });
    }
protected function registerRepositoryInterfaces ( ) { $ this -> app -> bind ( 'Artesaos\Defender\Contracts\Permission' , function ( $ app ) { return $ app -> make ( $ this -> app [ 'config' ] -> get ( 'defender.permission_model' ) ) ; } ) ; $ this -> app -> bind ( 'Artesaos\Defender\Contracts\Role' , function ( $ app ) { return $ app -> make ( $ this -> app [ 'config' ] -> get ( 'defender.role_model' ) ) ; } ) ; $ this -> app -> singleton ( 'defender.role' , function ( $ app ) { return new EloquentRoleRepository ( $ app , $ app -> make ( \ Artesaos \ Defender \ Contracts \ Role :: class ) ) ; } ) ; $ this -> app -> singleton ( 'Artesaos\Defender\Contracts\Repositories\RoleRepository' , function ( $ app ) { return $ app [ 'defender.role' ] ; } ) ; $ this -> app -> singleton ( 'defender.permission' , function ( $ app ) { return new EloquentPermissionRepository ( $ app , $ app -> make ( \ Artesaos \ Defender \ Contracts \ Permission :: class ) ) ; } ) ; $ this -> app -> singleton ( 'Artesaos\Defender\Contracts\Repositories\PermissionRepository' , function ( $ app ) { return $ app [ 'defender.permission' ] ; } ) ; $ this -> app -> singleton ( 'defender.user' , function ( $ app ) { $ userModel = $ app [ 'config' ] -> get ( 'defender.user_model' ) ; return new EloquentUserRepository ( $ app , $ app -> make ( $ userModel ) ) ; } ) ; $ this -> app -> singleton ( 'Artesaos\Defender\Contracts\Repositories\UserRepository' , function ( $ app ) { return $ app [ 'defender.user' ] ; } ) ; }
Bind repositories interfaces with their implementations.
Bind repositories interfaces with their implementations .