##Dans composer.json
"sonata-project/doctrine-orm-admin-bundle": "dev-master"
puis faire php composer.phar update
##Dans app/appKernel.php ajouter les bundle :
new Sonata\CoreBundle\SonataCoreBundle(),
| namespace ...; | |
| use Symfony\Component\HttpFoundation\Request; | |
| use Symfony\Component\Form\Form; | |
| abstract class BaseFormFlowHandler extends BaseFormHandler | |
| { | |
| protected $step; | |
| protected $request; |
##Dans composer.json
"sonata-project/doctrine-orm-admin-bundle": "dev-master"
puis faire php composer.phar update
##Dans app/appKernel.php ajouter les bundle :
new Sonata\CoreBundle\SonataCoreBundle(),
| <?php | |
| public function createAction(Request $request) | |
| { | |
| $form = $this->createForm('iim.article.form.type', null, array( | |
| 'action' => $this->generateUrl('article_create'), | |
| 'method' => 'POST', | |
| )); | |
| $form->add('submit', 'submit', array('label' => 'Create')); |
| <?php | |
| namespace IIM\ArticleBundle\Manager; | |
| use Doctrine\Common\Persistence\ObjectManager; | |
| abstract class Manager | |
| { | |
| protected $objectManager; | |
| protected $class; |
Nous avons deux solutions pour ce faire, nous choisissons de ne pas utilsier l'heritage de bundle, pour plus d'info sur cette seconde solution : https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/overriding_templates.md cf solution b).
En créant app/Resources/FOSUserBundle/views/layout.html.twig nous écrasons le layout par defaut de FOSUserBundle, ceci étant vallable pour n'importe quel autre bundle
Voici le fichier :
#Rendu IIM Symfony2 module 1
Date de rendu : 02/01/2014 00:00:00
Sauf exception vous avez tous besoin de loguer et permettre l’inscription d’utilisateurs, FOSUserBundle est fait pour ça.
N’oubliez pas de sécuriser vos routes non public dans security.yml avec le ROLE_USER.
Il est donc obligatoire de l’implémenter, idem pour SonataAdminBundle, accessible pas un User ayant le ROLE_ADMIN, il doit donc servir qu’a l’administrateur, pas aux Users de base.
| <?php | |
| /** | |
| * Write File accepte un nom de fichier en paramétre et un tableau, | |
| * Ici j'oblige à ce que la variable $value soit un tableau | |
| */ | |
| function writeFile($file, array $value) | |
| { | |
| // Vérifie si le fichier existe déjà | |
| if (file_exists($file)) { |
| <?php | |
| namespace Cappl; | |
| use Symfony\Component\Console\Application as BaseApplication; | |
| use Cappl\Console\Command\ContainerAwareCommand; | |
| use Symfony\Component\Console\Command\Command; | |
| use Pimple\ServiceProviderInterface; | |
| use Symfony\Component\Console\Input\InputInterface; | |
| use Symfony\Component\Console\Output\OutputInterface; |
| <?php | |
| namespace App\Handler; | |
| use App\Calculator\CalculatorInterface; | |
| class CalculatorHandler | |
| { | |
| /** | |
| * @var CalculatorInterface[] |