elnur / abstract-controller-bundle
Simplifies doing controllers as services
Installs: 20 761
Dependents: 0
Suggesters: 0
Security: 0
Stars: 14
Watchers: 2
Forks: 3
Open Issues: 1
Type:symfony-bundle
Requires
- php: >=5.3.3
- symfony/form: ~2.1
- symfony/framework-bundle: ~2.1
- symfony/security: ~2.1
Requires (Dev)
- mockery/mockery: >=0.7.2
This package is not auto-updated.
Last update: 2024-12-21 15:34:22 UTC
README
So, you decided to define your controllers as services? That's great! But isn't injecting the same basic services into each controllers tedious and boring? Not anymore!
The abstract controller of this bundle is automatically injected with the following commonly used services:
form.factory
,router
,translator
,security.context
,session
, andtemplating
.
It also provides a couple of helper methods:
getUser()
— to get the currently logged in user;addFlash($type, $message)
— to add a flash message to the session.
Installation
-
Add this to
composer.json
:{ "require": { "elnur/abstract-controller-bundle": "dev-master" } }
And run:
composer update elnur/abstract-controller-bundle
-
Enable the bundle in
app/AppKernel.php
:public function registerBundles() { $bundles = array( // ... new Elnur\AbstractControllerBundle\ElnurAbstractControllerBundle(), ); }
Usage
Make your controller extend the AbstractController
class:
<?php
namespace Acme\Bundle\AppBundle\Controller;
use Elnur\AbstractControllerBundle\AbstractController;
class UserController extends AbstractController
{
// ...
}
And define elnur.controller.abstract
as the parent service:
services:
user_controller:
class: Acme\Bundle\AppBundle\Controller\UserController
parent: elnur.controller.abstract
License
This bundle is under the MIT license. See the complete license in the bundle:
Resources/meta/LICENSE