##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[] |