Home > Développement > PHP > Symfony

Symfony

Controller

Création d'un controller

php bin/console make:controller
composer require annotations
namespace App\Controller;
        
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;

class DefaultController extends AbstractController
{
    /**
     * @Route("/")
     */
    public function index() {
        return $this->render('index.html.twig', [
            'title' => 'Titre',
        ]);
    }
}

Doctrine

Many to many

Get all Ids

$allDocumentsTache = $tache->getDocumentProjet()->map(function($obj){return $obj->getId();})->getValues();

Route

Vérification des routes

php bin/console debug:router

Server

Run le serveur

php bin/console server:run

Service

Fichier services.yml

services:  
    phototheque.manager:
        class: PhotothequeBundle\Manager\PhotothequeManager
        public: true
        arguments: [ "@doctrine.orm.entity_manager", "@security.token_storage" ]

Fichier PhotothequeBundle/Manager/PhotothequeManager

namespace PhotothequeBundle\Manager;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage;
use Doctrine\ORM\EntityManager;
                
use MaintenanceBundle\Controller\LogsController;
                
class PhotothequeManager
{                
    private $em;
    private $logs;
    private $tokenStorage;

    public function __construct(EntityManager $em, TokenStorage $tokenStorage)
    {
        $this->em = $em;
        $this->logs = new LogsController($this->em);
        $this->tokenStorage = $tokenStorage;
    }
                      
    public function saveLogRecherche($data)
    {
        // TODO

        $this->logs->saveLog($this->getUser()->getId(), 1, "Recherche de visuels", $dataLogs, null, null, $filiale);
    }

    public function getUser()
    {
        return $this->tokenStorage->getToken()->getUser();
    }
}

Appel du service dans un Controller

$this->get('phototheque.manager')->saveLogRecherche($data);

File Upload

Symfony2 - Force file download

Class UploadedFile

Form : Sélectionner une donnée en fonction de la précédente

Code

Utilisateur

Lister les utilisateurs en ligne

Twig Extension

How to Write a custom Twig Extension

Images

Création de miniatures avec Symfony2

Sheat

Améliorez vos applications développées avec Symfony2

Symfony & PDF

Bundle : KnpLabs/KnpSnappyBundle

Easily create PDF and images in Symfony by converting html using webkit

Github

Symfony & Chart

Bundle : saadtazi/SaadTaziGChartBundle

Github

Highcharts

Demo

Symfony & Swiftmailer

Documentation

swiftmailer configuration for more than one accounts in Symfony 2