SlideShare une entreprise Scribd logo
Vanessa V.Chellen / vanessa@extension-interactive.com
S y m f o n y 3
30/03/2017
Q u i ? Q u o i ? C o m m e n t ? P o u r q u o i ?
2
1. Introduction
2. Architecture
3. Principaux concepts
4. Notions avancés
5. Ecosystème
6. Communauté
7. Conclusions
3
Symfony , la vision
4
Symfony , en chiffres
741,493,735 downloads de Symfony
+ 300,000 de développeurs
+29,000,000 download mensuels
+2000 contributeurs
12 ans
Symfony3 / PHP 7
5
Symfony, Roadmap
6
Symfony3 / Pré-requis du dévelopeur
OOP, Classes, Namespace
PSR concepts
PHP 7
Annotations
Dependency injection
Design patterns
Doctrine
7
1. Introduction
2. Architecture
3. Principaux concepts
4. Notions avancés
5. Ecosystème
6. Communauté
7. Conclusions
8
Installation
9
L’Arborescence
› App ( application directory)
- Contient les fichiers de configuration
- Les kernel classes
- Les ressources de l’application ex
templates, traductions
› Src
- Contient le code source du site
› Var
- Contient les contenus générés ex les
dossiers cache, les logs et la session
utilisateur
› Vendor
- Les bundles externes utilisés sur le site
- Les contenus sont gérés par composer
› Web
- Le frontController ( app.php, app_xx.php)
- Les assets (css, js, images)
- L’unique dossier accessible par www
10
Gestion permissions
11
Symfony3 / Configuration
Zero impact
performanceYAML
XML
PHP
INI.
Annotations
12
Le FrontController
Le FrontController est le point d’entrée principal du
site
« app.php » le nom du FrontController.
On y annexe l’environnement de l’application pour
charger les config spécifique à l’environnement ex
app_dev.php
13
Le FrontController
Vhost doit être configuré pour pointer directement au
FrontController
14
Les environnements
15
Les environnements
16
Les environnements
17
1. Introduction
2. Architecture
3. Principaux concepts
4. Notions avancés
5. Ecosystème
6. Communauté
7. Conclusions
18
Gestion d'une requête
19
Le Routeur
« Pattern Matching » entre votre URL et votre Controlleur
YAML - Annotations - XML - PHP - INI
20
Le Routeur
21
Le Routeur
ex Annotations
22
Le Routeur
Fichier YAML
¬ Resources/config/routing.yml
23
Le Controlleur
Prend en charge les « requêtes » et retourne des
« réponses »
Contient les logiques arbitraires que votre application a
besoin pour retourner une réponse
Convention de nommage rigide
¬ <nom controlleur><Controller>.php
¬ Ex BlogController.php, CalendarController.php
24
Le Controlleur
25
Les Bundles
Un package comprenant toutes les couches métiers
permettant de répondre à un besoin ex CmsBundle
Tout est un bundle sur Symfony
Permet d’organiser votre code en terme de
fonctionnalités
Autonome
Avoir des noms spécifiques et suivre la nomenclature
CamelCase
Suffixé par Bundle
26
Les Bundles
On peut la modifier à souhait pour mieux organiser son code
http://knpbundles.com/
27
Le Templating avec Twig
Template Engine utilisé par Symfony
¬ Rapide
- Compilé en php
¬ Flexible
- Permet la création de tags et filtre custom
¬ Sécurité
- Sandbox mode
¬ Stable
- Tests unitaire
¬ Puissant
- Heritage, Includes
- Blocks, automatic escaping etc..
28
Le Templating avec Twig
29
La couche "Model"
30
Doctrine - Entités
Classes métiers décrivant chaque objet d’une
application
Chaque table doit avoir une classe Entity
Nomenclature rigide
¬ ex table article aura une entité Article.php
Générer via la console
31
Doctrine - Entités
Métadonnées
¬ YAML
32
Les Entités
Métadonnées
¬ Annotations
33
Les Formulaires
34
Les Formulaires
35
Les Formulaires
Type
¬ Objet qui converti des post data à leur équivalent normalisé
¬ Peut être un champ ou une collection de champs
Template
¬ Fichier qui render un form ou un champ en HTML
Domain Object
¬ Object utiliser pour construire les default values d’un formulaire
¬ Lecture des valeurs d’un formulaire
¬ Chaque form doit avoir un domain object class
36
Les form types
37
Les Formulaires / Validation
38
Les Formulaires / Validation
39
Form handling
40
1. Introduction
2. Architecture
3. Principaux concepts
4. Notions avancés
5. Ecosystème
6. Communauté
7. Conclusions
41
Symfony ++
Cache Handling
Dependency
Injection
EventHandlers Event dispatchers
Assetics Security Cache handling Internationalization
Testing (phpunit) Console Standardization And more…
42
Symfony / Future
API-Centric frameworks
¬ https://api-platform.com/
Domain driven design
¬ CQRS and Event sourcing
- BlablaCar
Behaviour driven design
¬ Behat
43
1. Introduction
2. Architecture
3. Principaux concepts
4. Notions avancés
5. Ecosystème
6. Communauté
7. Conclusions
44
Symfony  Ecosystème
45
Symfony  PHP Frameworks
46
Because it’s Symfony, the
new standard of PHP!
47
1. Introduction
2. Architecture
3. Principaux concepts
4. Notions avancés
5. Ecosystème
6. Communauté
7. Conclusions
48
Symfony.mu
http://symfony.mu @SymfonyMu
49
Symfony  Communauté
Sensiolabs Connect
¬ Réseaux sociaux de la communauté de Symfony
¬ Gérer par SensioLabs
¬ https://connect.sensiolabs.com
Symfony Live ou SymfonyCon
50
Symfony  Ressources
 http://symfony.com/
¬ Documentation
¬ Roadmap
¬ Formation
¬ Certification
 http://knpbundles.com/
¬ Répertoire des « Bundles » de Symfony
¬ Plus de 2500 bundles répertoriés
 https://insight.sensiolabs.com/
¬ Audit qualité
 https://blackfire.io/
¬ Audit de performance
51
1. Introduction
2. Architecture
3. Principaux concepts
4. Notions avancés
5. Ecosystème
6. Communauté
7. Conclusions
52
extension interactive
14, avenue des Lataniers
72238 Quatre Bornes
Merci

Contenu connexe

ODP
Symfony Best Practices
ODP
Presentation du framework symfony
PPTX
Présentation symfony epita
PPTX
Symfony 2 : chapitre 1 - Présentation Générale
PPT
Presentation Symfony
PPTX
Atelier Symfony2- Introduction
PPTX
Presentation Symfony2
PDF
Mieux Développer en PHP avec Symfony
Symfony Best Practices
Presentation du framework symfony
Présentation symfony epita
Symfony 2 : chapitre 1 - Présentation Générale
Presentation Symfony
Atelier Symfony2- Introduction
Presentation Symfony2
Mieux Développer en PHP avec Symfony

Tendances (20)

PDF
Symfony2: 30 astuces et bonnes pratiques
PDF
Introduction à Symfony2
PDF
symfony : Un Framework Open-Source pour les Professionnels
PDF
Une application en deux heure - PHP Québec Janvier 2009
PDF
Orchestrez vos projets Symfony sans fausses notes
PPT
Symfony 2 : chapitre 2 - Les vues en Twig
PDF
Symfony2 Presentation
PDF
wallabag, comment on a migré vers symfony3
PPTX
Symfony 2 et le Web
PDF
Présentation de symfony - Human talks aux docks le 8 juillet 2014
PPT
Symfony 2 : chapitre 4 - Les services et les formulaires
PDF
Formation Symfony2 par KNP Labs
PPT
PHP5 et Zend Framework
PPT
Soutenance Zend Framework vs Symfony
PDF
Django pour les développeurs Symfony (et réciproquement)
PDF
symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)
PDF
Exposer des services web SOAP et REST avec symfony 1.4 et Zend Framework
PDF
Utiliser le Zend Framework avec Symfony
PPT
Plateforme De DéVeloppement En Php5 (Zend + Doctrine)
ODP
Présentation de PHP 5.4 [FR]
Symfony2: 30 astuces et bonnes pratiques
Introduction à Symfony2
symfony : Un Framework Open-Source pour les Professionnels
Une application en deux heure - PHP Québec Janvier 2009
Orchestrez vos projets Symfony sans fausses notes
Symfony 2 : chapitre 2 - Les vues en Twig
Symfony2 Presentation
wallabag, comment on a migré vers symfony3
Symfony 2 et le Web
Présentation de symfony - Human talks aux docks le 8 juillet 2014
Symfony 2 : chapitre 4 - Les services et les formulaires
Formation Symfony2 par KNP Labs
PHP5 et Zend Framework
Soutenance Zend Framework vs Symfony
Django pour les développeurs Symfony (et réciproquement)
symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)
Exposer des services web SOAP et REST avec symfony 1.4 et Zend Framework
Utiliser le Zend Framework avec Symfony
Plateforme De DéVeloppement En Php5 (Zend + Doctrine)
Présentation de PHP 5.4 [FR]
Publicité

Similaire à Symfony3 overview (20)

PPTX
Introduction à Symfony
PPTX
Introduction à Symfony
PDF
cours.symfony.web2pouringenieurseninformatique
PPTX
retour sur confoo2011 et Symfony2
PDF
Diaporama du sfPot Lillois du 20 mars 2014
PDF
Etude des Frameworks PHP
PDF
Atelier symfony n 2
PDF
Symfony
PDF
Symfony 4 2019
PPTX
Drupal 8, symfony
PDF
Symfi formation-symfony-les-bases
PDF
Symfb formation-symfony-les-bases-et-perfectionnement
PDF
M205developpemmetdigital123455555555.pdf
ODP
SfPot Lille 07/2015 - Utiliser Symfony sur des environnements Heroku-like
PDF
Symfony2 & l'architecture Rest
PDF
Symfony et Sonata Project chez Canal+
PDF
Alphorm.com Support de la Formation Symfony 3 , les fondamentaux-ss
PDF
Les nouveautés de PrestaShop 9 par la team PrestaShop - FoP Day 2023
PPTX
Meetup CakePHP Amiens / 25 mars 2015
PPTX
Architecture mvc
Introduction à Symfony
Introduction à Symfony
cours.symfony.web2pouringenieurseninformatique
retour sur confoo2011 et Symfony2
Diaporama du sfPot Lillois du 20 mars 2014
Etude des Frameworks PHP
Atelier symfony n 2
Symfony
Symfony 4 2019
Drupal 8, symfony
Symfi formation-symfony-les-bases
Symfb formation-symfony-les-bases-et-perfectionnement
M205developpemmetdigital123455555555.pdf
SfPot Lille 07/2015 - Utiliser Symfony sur des environnements Heroku-like
Symfony2 & l'architecture Rest
Symfony et Sonata Project chez Canal+
Alphorm.com Support de la Formation Symfony 3 , les fondamentaux-ss
Les nouveautés de PrestaShop 9 par la team PrestaShop - FoP Day 2023
Meetup CakePHP Amiens / 25 mars 2015
Architecture mvc
Publicité

Symfony3 overview