public function connect(Application $app)
    {
        if (!$app['resolver'] instanceof ServiceControllerResolver) {
            // using RuntimeException crashes PHP?!
            throw new \LogicException('You must enable the ServiceController service provider to be able to use these routes.');
        }

        /** @var ControllerCollection $controllers */
        $controllers = $app['controllers_factory'];

        $controllers->get('/', 'user.controller:viewSelfAction')
            ->bind('user')
            ->before(function(Request $request) use ($app) {
                // Require login. This should never actually cause access to be denied,
                // but it causes a login form to be rendered if the viewer is not logged in.
                if (!$app['user']) {
                    throw new AccessDeniedException();
                }
            });

        $controllers->get('/{id}', 'user.controller:viewAction')
            ->bind('user.view')
            ->assert('id', '\d+');

        $controllers->method('GET|POST')->match('/{id}/edit', 'user.controller:editAction')
            ->bind('user.edit')
            ->before(function(Request $request) use ($app) {
                if (!$app['security']->isGranted('EDIT_USER_ID', $request->get('id'))) {
                    throw new AccessDeniedException();
                }
            });

        $controllers->get('/list', 'user.controller:listAction')
            ->bind('user.list');

        $controllers->method('GET|POST')->match('/register', 'user.controller:registerAction')
            ->bind('user.register');

        $controllers->get('/confirm-email/{token}', 'user.controller:confirmEmailAction')
            ->bind('user.confirm-email');

        $controllers->post('/resend-confirmation', 'user.controller:resendConfirmationAction')
            ->bind('user.resend-confirmation');

        $controllers->get('/login', 'user.controller:loginAction')
            ->bind('user.login');

        $controllers->method('GET|POST')->match('/forgot-password', 'user.controller:forgotPasswordAction')
            ->bind('user.forgot-password');

        $controllers->get('/reset-password/{token}', 'user.controller:resetPasswordAction')
            ->bind('user.reset-password');

        // login_check and logout are dummy routes so we can use the names.
        // The security provider should intercept these, so no controller is needed.
        $controllers->method('GET|POST')->match('/login_check', function() {})
            ->bind('user.login_check');
        $controllers->get('/logout', function() {})
            ->bind('user.logout');

        return $controllers;
    }
public function connect(Application $app)
    {
        if (!$app['resolver'] instanceof ServiceControllerResolver) {
            // using RuntimeException crashes PHP?!
            throw new \LogicException('You must enable the ServiceController service provider to be able to use these routes.');
        }

        /** @var ControllerCollection $controllers */
        $controllers = $app['controllers_factory'];

        $controllers->get('/', 'user.controller:viewSelfAction')
            ->bind('user')
            ->before(function(Request $request) use ($app) {
                // Require login. This should never actually cause access to be denied,
                // but it causes a login form to be rendered if the viewer is not logged in.
                if (!$app['user']) {
                    throw new AccessDeniedException();
                }
            });

        $controllers->get('/{id}', 'user.controller:viewAction')
            ->bind('user.view')
            ->assert('id', '\d+');

        $controllers->method('GET|POST')->match('/{id}/edit', 'user.controller:editAction')
            ->bind('user.edit')
            ->before(function(Request $request) use ($app) {
                if (!$app['security']->isGranted('EDIT_USER_ID', $request->get('id'))) {
                    throw new AccessDeniedException();
                }
            });

        $controllers->get('/list', 'user.controller:listAction')
            ->bind('user.list');

        $controllers->method('GET|POST')->match('/register', 'user.controller:registerAction')
            ->bind('user.register');

        $controllers->get('/confirm-email/{token}', 'user.controller:confirmEmailAction')
            ->bind('user.confirm-email');

        $controllers->post('/resend-confirmation', 'user.controller:resendConfirmationAction')
            ->bind('user.resend-confirmation');

        $controllers->get('/login', 'user.controller:loginAction')
            ->bind('user.login');

        $controllers->method('GET|POST')->match('/forgot-password', 'user.controller:forgotPasswordAction')
            ->bind('user.forgot-password');

        $controllers->get('/reset-password/{token}', 'user.controller:resetPasswordAction')
            ->bind('user.reset-password');

        // login_check and logout are dummy routes so we can use the names.
        // The security provider should intercept these, so no controller is needed.
        $controllers->method('GET|POST')->match('/login_check', function() {})
            ->bind('user.login_check');
        $controllers->get('/logout', function() {})
            ->bind('user.logout');

        return $controllers;
    }
public function connect ( Application $ app ) { if ( ! $ app [ 'resolver' ] instanceof ServiceControllerResolver ) { // using RuntimeException crashes PHP?! throw new \ LogicException ( 'You must enable the ServiceController service provider to be able to use these routes.' ) ; } /** @var ControllerCollection $controllers */ $ controllers = $ app [ 'controllers_factory' ] ; $ controllers -> get ( '/' , 'user.controller:viewSelfAction' ) -> bind ( 'user' ) -> before ( function ( Request $ request ) use ( $ app ) { // Require login. This should never actually cause access to be denied, // but it causes a login form to be rendered if the viewer is not logged in. if ( ! $ app [ 'user' ] ) { throw new AccessDeniedException ( ) ; } } ) ; $ controllers -> get ( '/{id}' , 'user.controller:viewAction' ) -> bind ( 'user.view' ) -> assert ( 'id' , '\d+' ) ; $ controllers -> method ( 'GET|POST' ) -> match ( '/{id}/edit' , 'user.controller:editAction' ) -> bind ( 'user.edit' ) -> before ( function ( Request $ request ) use ( $ app ) { if ( ! $ app [ 'security' ] -> isGranted ( 'EDIT_USER_ID' , $ request -> get ( 'id' ) ) ) { throw new AccessDeniedException ( ) ; } } ) ; $ controllers -> get ( '/list' , 'user.controller:listAction' ) -> bind ( 'user.list' ) ; $ controllers -> method ( 'GET|POST' ) -> match ( '/register' , 'user.controller:registerAction' ) -> bind ( 'user.register' ) ; $ controllers -> get ( '/confirm-email/{token}' , 'user.controller:confirmEmailAction' ) -> bind ( 'user.confirm-email' ) ; $ controllers -> post ( '/resend-confirmation' , 'user.controller:resendConfirmationAction' ) -> bind ( 'user.resend-confirmation' ) ; $ controllers -> get ( '/login' , 'user.controller:loginAction' ) -> bind ( 'user.login' ) ; $ controllers -> method ( 'GET|POST' ) -> match ( '/forgot-password' , 'user.controller:forgotPasswordAction' ) -> bind ( 'user.forgot-password' ) ; $ controllers -> get ( '/reset-password/{token}' , 'user.controller:resetPasswordAction' ) -> bind ( 'user.reset-password' ) ; // login_check and logout are dummy routes so we can use the names. // The security provider should intercept these, so no controller is needed. $ controllers -> method ( 'GET|POST' ) -> match ( '/login_check' , function ( ) { } ) -> bind ( 'user.login_check' ) ; $ controllers -> get ( '/logout' , function ( ) { } ) -> bind ( 'user.logout' ) ; return $ controllers ; }
Returns routes to connect to the given application.

@param Application $app An Application instance

@return ControllerCollection A ControllerCollection instance
@throws \LogicException if ServiceController service provider is not registered.
Returns routes to connect to the given application .