• Aucun résultat trouvé

Cours Symfony2 en PDF

N/A
N/A
Protected

Academic year: 2021

Partager "Cours Symfony2 en PDF"

Copied!
5
0
0

Texte intégral

(1)

Philippe FAGNIARD Jonathan VANDAL LP-SIL IDSE-JV

I°) Qu'est-ce que Symfony ? II°) Force et Faiblesse

III°) Comparaison de Framework identiques IV°) Exemple d'utilisation

(2)

I°) Symfony

Symfony est un framework libre de type Modèle-Vue-Contrôleur, écrit en PHP 5.x .Il facilite et accélère le développement de sites et d'applications de type internet et intranet.

Lancé le 18 octobre 2005, Sensio, une agence web française, est à l'origine du projet, Symfony était à la base pour les propres besoins de Sensio qui a ensuite souhaité en partager le code avec la communauté des développeurs PHP.

La dernière version de Symfony est la 2.1.2, datée du 20 septembre 2012. Symfony propose plusieurs choses :

• Une séparation du code en trois couches, selon le modèle Modèle-Vue-Contrôleur, permettant une meilleur maintenance et évolution,

• Un « templating » simple, fondé sur PHP et des jeux de fonctions additionnelles pour les gabarits nommées « helpers »,

• Des performances optimisées et un système de cache qui permet d'assurer des temps de réponse optimaux,

• Une gestion des URL(Uniform Resource Locator) parlante, permettant à une page d'avoir une URL distincte par rapport à sa position dans l'arborescence;

• Un système de configuration en cascade utilisant pleinement le langage YAML ( YAML Ain't Markup Language ),

Un générateur de back-office et un lanceur de module (« scaffolding » (Échafaudage)) • Une couche de mapping objet-relationnel (ORM, base de données orientée objet) et une

d'abstraction de données , • Le support d'AJAX,

• Une architecture extensible permettant créations et utilisations de « plugins »

II°) Ses Forces et ses Faiblesses

Sensio nous donnent 6 bonne raisons d'utiliser son Framework : la réputation, la permanence, les références, ses innovations, ses ressources, son interopérabilité.

La qualité du code de Symfony le rend très adaptable : – le code est découplé

– la séparation application / module permet de personnaliser facilement de nombreux paramètres

Symfony possède une importante communauté d'utilisateurs et de développeurs. De nombreux sites sont développés avec Symfony5. La version 8 du générateur de sites web Drupal, prévue en 2013, se développe sous Symfony 2. La documentation de Symfony, notamment en anglais, se compose de :

– tutoriels de référence : Askeet et Jobeet9, pour apprendre rapidement (en environ un mois, à raison d'une heure par jour)

– deux livres présentant le framework et sur les formulaires – une API

– des feuilles de résumé (« cheat sheets ») – des traductions dans plusieurs langues

(3)

La plupart des ressources n'existent cependant encore qu'en anglais - bien que quelques traductions localisées soient en cours sur le wiki communautaire.

La fonctionnalité « standalone » — permettant à partir d'une instruction en ligne de commande d'insérer les bibliothèques de Symfony dans le dossier de développement — permet le déploiement du framework sur la plupart des hébergements mutualisés fournissant PHP5, sans nécessiter la ligne de commande.

III°) Symfony2 vs Zend

Environnements :

• Environnement de développement : Environement utilisé par les développeurs web lors du développement des applications pour en ajouter de nouvelles, corriger les bugs, ...

• Environnement de test : Environnement qui test automatiquement les applications.

• Environnement de qualité : Environnement qui permet aux utilisateurs de tester l'application et d'envoyer des rapports de bug

• Environnement de production : Environnement final de l'utilisation de la plateforme.

Automatisation :

Symfony utilise certaines lignes de commande pour automatiser certaines tâches, comme par exemple ; généré les modèles, vues et contrôleur pour créer de nouveaux modules. Ces lignes de commandes sont issues du shell de Linux, qui permet à l'utilisateur de ne pas être dépaysé.

Base de données :

Symfony permet d'utiliser n'importe quel gestionnaire de base de données, Zend-Dbcompris et aussi de gérer la BDD de façon abstraite avec sfDatabase. sfPostgreSQLDatabase permet d'effectuer les connexions et déconnexions au base de données PostgreSQL.

Comparatif :

La force et aussi la faiblesse de Zend est qu'il n'y a pas une façon particulière de développer. Symfony permettrait d'harmoniser le code de chacun en un seul modèle et une implémentation dans une structure bien définie.$

(4)

IV°) Exemple d'utilisation

(5)

Explication :

Dans la route (routing.xml)

<route id="Nom_de_la_Route" pattern="Suffixe_URL"> <default key="_controller">

Nom_du_Bundle:Prefixe_Nom_Controller:Prefixe_Nom_Action </default>

</route>

Dans le controller associé (Nom_Controller.php)

->getRepository('Nom_du_Bundle:Nom_de_la_table') ->findAll(); //Prend tout les champs de la table

->renderResponse(

'Nom_du_Bundle:Sous_dossier:Nom_template.html.twig',

array('nom_transmis_par_controller' => $liste_des_résultat_des_champs) )

Dans le template (Nom_template .html.twig)

{% for nom_personnalisé in nom_transmis_par_controller %} {{ nom_personnalisé.nom_champ_de_la_BDD }}

Références

Documents relatifs

Donner le résultat après la validation dans chaque ligne de commande :4pts.. 

6) Donner la commande permettant d’accéder au dossier « Ma_serie » du disque D : 0.5pt 7) Donner la commande qui permet de copier le fichier dans le dossier« Serie yvan » 1pt

Lorsqu'elle est spécifiée sur la ligne de commande ou dans le fichier AUTOEXEC.BAT, cette commande crée une antémémoire dans la mémoire étendue qui

- Choisissez Décaler les cellules vers le bas ou Décaler les cellules vers la droite si vous voulez insérer une cellule sur la ligne où se trouve le curseur sans en ajouter une

machine virtuelle avec la ligne de commande pour lancer le système d'exploitation virtualisé.. kvm -m 2G -cpu

Par défaut, une nouvelle instruction graphique sera affichée dans la même fenêtre et écrasera la figure précédente. On peut ouvrir une nouvelle fenêtre graphique par la

Vous verrez alors apparaître une fenêtre présentant, pour chaque instruction du code source en assembleur, en C ou en C++, le numéro de ligne, la traduction en assembleur, qui

 Placer le point d’insertion sur la ligne ou la colonne ou la cellule où je veux ajouter (Ligne, Colonne ou Cellule)  Accueil  Groupe Cellules  Insérer Cellule