mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
74 lines
1.6 KiB
ReStructuredText
74 lines
1.6 KiB
ReStructuredText
|
|
|
|
|
|
|
|
Useful snippets
|
|
###############
|
|
|
|
Dependency Injection
|
|
********************
|
|
|
|
Configure route automatically
|
|
=============================
|
|
|
|
Add the route for the current bundle automatically on the main app.
|
|
|
|
.. code-block:: php
|
|
|
|
namespace Chill\MyBundle\DependencyInjection;
|
|
|
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
|
use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface;
|
|
|
|
|
|
class ChillMyExtension extends Extension implements PrependExtensionInterface
|
|
{
|
|
// ...
|
|
|
|
public function prepend(ContainerBuilder $container)
|
|
{
|
|
$this->prependRoutes($container);
|
|
|
|
}
|
|
|
|
public function prependRoutes(ContainerBuilder $container)
|
|
{
|
|
//add routes for custom bundle
|
|
$container->prependExtensionConfig('chill_main', array(
|
|
'routing' => array(
|
|
'resources' => array(
|
|
'@ChillMyBundle/Resources/config/routing.yml'
|
|
)
|
|
)
|
|
));
|
|
}
|
|
|
|
|
|
Security
|
|
********
|
|
|
|
Get the circles a user can reach
|
|
================================
|
|
|
|
.. code-block:: php
|
|
|
|
use Symfony\Component\Security\Core\Role\Role;
|
|
|
|
$authorizationHelper = $this->get('chill.main.security.authorization.helper');
|
|
$circles = $authorizationHelper
|
|
->getReachableCircles(
|
|
$this->getUser(), # from a controller
|
|
new Role('CHILL_ROLE'),
|
|
$center
|
|
);
|
|
|
|
|
|
Controller
|
|
**********
|
|
|
|
Secured controller for person
|
|
=============================
|
|
|
|
.. literalinclude:: useful-snippets/controller-secured-for-person.php
|
|
:language: php
|