Pourquoi j'ai choisi Symfony 2 ... ?

Responsable Technique Meetserious

Symfony ./ Intervenant

symfony.3wa.fr

22M Downloads

2K Contributors

200K Developers

Framework Moderne

 100% PHP Orienté Objet

Qu'est ce qu'un framework?!

Déjà entendu ? utilisé ?

Mieux coder, c'est être

Plus maintenable  // Plus collaborative

Plus efficace // Plus logique

Plus rapide // Plus scalable 

Plus évolutive // Plus structurée

Plus organisée // Plus sécurisée

Plus plus plus ...

Pour qui Symfony 2 ?!!

Persévérant // Courageux

Ambiteux // Rigoureux

Curieux // Organisé

Travailleur // Perfectioniste

 

Il y a t-il du danger à développer

"from-scratch" aujourd'hui en PHP ?!

Et pour quelques 

CMS de plus....

History of Symfony

Fabien POTENCIER (@fabpot)

Créateur de Symfony 2

Co-fondateur de SensioLabs

 

Symfony 2 versions

Utilisation full-stack de Symfony 2

Installation du framework

Web Debug Toolbar

Arborescence

Couches de Symfony 2

Précision et Professionnalisation

Du PHP avant tout !

HTTP Fondamentals

Couche Routing

Couche Controlleur

Couche Vue

La configuration

Les Formulaires

La couche Modèle

Du SQL à l'objet PHP...

Et si on deboguait...?

Profiler & Deboger

Utilisation de la console

Le Kernel

Authentification

Bundles et Composants

Un ensemble de composants découplés

Les Tests Unitaires et Fonctionnels

Contrôler votre code

Performances & Monitoring

Monitoring de performances

Des performances accrues pour une audiance très élevée

Une levée de fond historique

Micro-framework basé sur Symfony 2

Moyen framework basé sur Symfony 2

Communauty is a Big Family... :)

It's work around the world!

Une Communauté de contributeurs internationaux

Hiérarchie interne

De nombreux Bundles sur Symfony 2

Mooc de Symfony 2 sur OpenClassRoom

De nombreux événements partout dans le monde

Numéro 1 des plugins PhpStorm

Tester la sécurité et les standards PHP

Gammification de la qualité des projets

1ère Levée de fond pour un projet Open Source...

Certification Symfony 2

Gammification Symfony 2

Un framework très demandé et recherché...

Solution E-Commerce basé sur Symfony 2

Solution E-Commerce basé sur Symfony 2

Solution CRM basé sur Symfony 2

Projet fil-rouge

SymfoAcademy

Inspiré par Allociné...

Dashboard du Back-Office

Page Catégories du Back-Office

Page Réalisateurs du Back-Office

Quelques aperçus...

...et des technologies montantes

About the futur

Symfony 3 en marche

...et le langage évolue vers sa version 7 !

Quand Facebook contribue aussi à PHP

Horus CMF

Mon projet Symfony 2

Démonstration

github.com/Symfomany/prez

Platinum Medal SensioLabsInsight

Tous les test passent sur Travis

Et sur Scrutinizer...

Collation  UTF-8 MySql

Timezone sous php.ini

OPCache de PHP 5.5

symfony.com/download

https://getcomposer.org/

Mettre les droits d'écriture sur les logs et le cache

php app/check.php pour checker la configuration

Autoload et norme PSR-4

Composer: Autoload et Namespaces

Création de Bundle

Fichier principal du Bundle

Routing - Controlleur - Vue

Annotations

Routing

Gérer vos dépendances avec composer.json

Récupérer Composer

Mettre à jour vos dépendances

Installer Symfony 2 via Composer

Multi-Héritage de vue

Héritage 3 Tiers

Twig: Système de blocks

Front Controlleur avec Requête-Réponse

Configuration globale du projet

Référence d'une configuration de couche

Objet Response

Redirection

Forward

Not Found Exception

Messages flashs

Argument en route

Transmission de données

Render

dump() pour déboger

Metadatas Doctrine

Générer les entités

Générer les méthodes d'entités

Annotations

Formulaire en classe

Traitement des formulaires

Génération de formulaire

Déboger son formulaire

Formulaire et Entité

Validation par annotations

Couche Security

Toolbar Authentification

Internationalisation

Objet Trans

Langue choisie depuis le routing

Langue choisie depuis Twig

Ecrire des Tests Unitaires

Ecrire des Tests Fonctionnels

HTTP Cache

Cache-Control

Expires

ETag

Last-Modified

Cache-Control

Entête de la Réponse

Entête Cache-Control

HTTP Cache Complet

Les données initiales

Fixtures par classe

Génération de Documentation

PHPDocumentor Responsive

Avec FOSRestApi

SensioLabsInsight Issues & Reporting

Plugins de PHPStorm

.gitignore de Symfony 2

Versionning de PHPStorm

Tips & Tricks

Liste des commandes

Débuger une requete SQL

Débuger une requete DQL

Les fonctions en Twig

Débuger du YAML

Débuger du Twig

Lancer le serveur en production

Débuger les entités

Lire les CHANGELOG

Explorer les classes

Class Debug pour les lourds objets

Les Meilleurs Bundles

Be curious not judgmental ...

Walter Whiteman

Made with Slides.com