Files
chill-bundles/docs/source/development/useful-snippets.md

59 lines
1.5 KiB
Markdown

# Useful snippets
###### Dependency Injection
## Configure route automatically
Add the route for the current bundle automatically on the main app.
```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
```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
[controller](useful-snippets/controller-secured-for-person.php)