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
, andtemplating
.
It also provides a handy getCurrentUser()
method to get the currently logged
in user.
-
Add this to the
deps
file:[ElnurAbstractControllerBundle] git=http://github.com/elnur/ElnurAbstractControllerBundle.git target=/bundles/Elnur/AbstractControllerBundle
And run
bin/vendors install
. -
Register the
Elnur
namespace in theapp/autoload.php
file:$loader->registerNamespaces(array( // ... 'Elnur' => __DIR__.'/../vendor/bundles', ));
-
Register the bundle in the
app/AppKernel.php
file:public function registerBundles() { $bundles = array( // ... new Elnur\AbstractControllerBundle\ElnurAbstractControllerBundle(), ); }
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
This bundle is under the MIT license. See the complete license in the bundle:
Resources/meta/LICENSE