Premier chapitre d'une formation Symfony 2,
l'Objectif de ce chapitre peut se résumer dans les points suivants :
- Présentation du framework Symfony en sa version 2.x
- Première installation de Symfony, et découvert de son arborescence projet
- Notion des Bundles : Notion de contrôleur et Vue + Réalisation d'un premier contrôleur
- Système des Routes : utilisation des annotations pour définir des routes
Cette présentation à pour but d'expliquer à des néophites les avantages du framework PHP Symfony.
Elle m'a servit en entreprise pour expliquer ses concepts complexe à des non-informaticiens.
Cette présentation à pour but d'expliquer à des néophites les avantages du framework PHP Symfony.
Elle m'a servit en entreprise pour expliquer ses concepts complexe à des non-informaticiens.
Objectif général
Prendre en main l’un des framework PHP les plus utilisés
Objectifs opérationnels
Structurer les fonctionnalités grâce aux bundles
Faire correspondre une URL donnée à un traitement précis grâce au routage
Traiter les requêtes grâce aux contrôleurs
Intégrer des données dans des templates grâce à TWIG
Faciliter la communication avec une base de données grâce à Doctrine
Permettre à un utilisateur d’initialiser ou de modifier les attributs d'un objet métier grâce aux formulaires
Ce Support de cours Spring contient :
- Architecture JEE (Over view)
- Spring Overview
- Spring IOC
- Spring MVC
- Spring Integration (RMI, JaxWS, JaxRS, JMS, JMX,...)
- Spring Security
Bon apprentissage à tous
Manuel des TP - Atelier de développement web (PHP)
Niveau : Licence informatique - L2
Auteur : Houda TOUKABRI
Bibliothèque ISET Kélibia [TPI11 : 02-01-2018]
Cette présentation à pour but d'expliquer à des néophites les avantages du framework PHP Symfony.
Elle m'a servit en entreprise pour expliquer ses concepts complexe à des non-informaticiens.
Cette présentation à pour but d'expliquer à des néophites les avantages du framework PHP Symfony.
Elle m'a servit en entreprise pour expliquer ses concepts complexe à des non-informaticiens.
Objectif général
Prendre en main l’un des framework PHP les plus utilisés
Objectifs opérationnels
Structurer les fonctionnalités grâce aux bundles
Faire correspondre une URL donnée à un traitement précis grâce au routage
Traiter les requêtes grâce aux contrôleurs
Intégrer des données dans des templates grâce à TWIG
Faciliter la communication avec une base de données grâce à Doctrine
Permettre à un utilisateur d’initialiser ou de modifier les attributs d'un objet métier grâce aux formulaires
Ce Support de cours Spring contient :
- Architecture JEE (Over view)
- Spring Overview
- Spring IOC
- Spring MVC
- Spring Integration (RMI, JaxWS, JaxRS, JMS, JMX,...)
- Spring Security
Bon apprentissage à tous
Manuel des TP - Atelier de développement web (PHP)
Niveau : Licence informatique - L2
Auteur : Houda TOUKABRI
Bibliothèque ISET Kélibia [TPI11 : 02-01-2018]
Ce support de cours contient les concepts fondamentaux de la sécurité des applications Web Statless avec Json Web Token. Des applications de mise en oeuvre de JWT et Spring Security pour les applications basées sur les Micro-services sont publiées ma chaîne vidéo Youtube :
https://www.youtube.com/user/mohamedYoussfi
Le code source des applications est publié sur mon compte GitHUB:
https://github.com/mohamedYoussfi/
Bon apprentissage
Troisième chapitre d'une formation Symfony 2,
l'Objectif de ce chapitre peut se résumer dans les points suivants :
- Présentation de l'ORM Doctrine 2
- Génération d'entité et utiliser les annotations pour modéliser une base de donnée relationnelle
- Écriture et Lecture des données.
Deuxième chapitre d'une formation Symfony 2,
l'Objectif de ce chapitre peut se résumer dans les points suivants :
- Présentation du moteur de template Twig
- Syntaxe et utilisation du moteur de template Twig dans les vues des contrôleurs
- Passer des variables depuis les contrôleurs vers les vues
Ce support de cours contient les concepts fondamentaux de la sécurité des applications Web Statless avec Json Web Token. Des applications de mise en oeuvre de JWT et Spring Security pour les applications basées sur les Micro-services sont publiées ma chaîne vidéo Youtube :
https://www.youtube.com/user/mohamedYoussfi
Le code source des applications est publié sur mon compte GitHUB:
https://github.com/mohamedYoussfi/
Bon apprentissage
Troisième chapitre d'une formation Symfony 2,
l'Objectif de ce chapitre peut se résumer dans les points suivants :
- Présentation de l'ORM Doctrine 2
- Génération d'entité et utiliser les annotations pour modéliser une base de donnée relationnelle
- Écriture et Lecture des données.
Deuxième chapitre d'une formation Symfony 2,
l'Objectif de ce chapitre peut se résumer dans les points suivants :
- Présentation du moteur de template Twig
- Syntaxe et utilisation du moteur de template Twig dans les vues des contrôleurs
- Passer des variables depuis les contrôleurs vers les vues
Symfony2: 30 astuces et bonnes pratiquesNoel GUILBERT
Avec cette nouvelle version de votre framework préféré, de nouvelles fonctionnalités et de nouveaux usages sont apparus. Vous vous demandez comment structurer vos bundles? Comment organiser votre code source? Comment utiliser correctement l'injecteur de dépendance? Venez découvrir au cours de cette session les bonnes pratiques, et quelques astuces, qui vous aiderons dans la réalisation de vos projets avec Symfony2.
Symfony2 est un framework PHP pour le développement de sites web. Cette présentation fournit -entre autre- quelques exemples pour commencer à manipuler les concepts et les commandes de base du framework.
Elle a été présenté à l'occasion d'un code d'armor sur le sujet (Mardi 19 novembre 2013 de 19:00 à 21:30).
Par Eric PARA & Sylvain RAGOT.
Cette nouvelle version du framework a été entièrement réécrite afin de tirer profit de PHP 5.3 d'une part mais également de corriger les erreurs du passé avec symfony 1.x.
Cette nouvelle version regorge de fonctionnalités puissantes pour vous aider à bâtir des applications web maintenables, pérennes, performantes et évolutives.
Cette présentation donne un aperçu des nouvelles fonctionnalités de Symfony2 comme l'architecture MVC, les tests automatisés ou bien encore l'envoi d'emails.
Alphorm.com Support de la Formation Symfony 3 , les fondamentaux-ssAlphorm
Formation complète ici :
http://www.alphorm.com/tutoriel/formation-en-ligne-symfony-3-les-fondamentaux
Symfony 2 a apporté beaucoup de changements dans la façon dont les développeurs PHP abordaient le développement d'applications web. Avec une architecture à la fois complexe mais claire et transparente, laissant une bonne marge de manœuvre aux développeurs. Contrairement à Zend qui est orienté vers le code, Symfony est davantage orienté vers la production d'application à partir de modèles conceptuels. Toute la production de code qui peut être automatisée doit l'être.
Dans de ce cours, nous suivrons la création d'une application depuis le début, l'installation de Symfony sur le serveur jusqu'au traitement des données et l'interaction avec l'utilisateur. Et nous commencerons par quelques rappels sur PHP Objet, sans oublier Composer, devenu indispensable dans toute application.
Au travers d'une application-jouet, nous verrons comment articuler le code entre les différents composants de l'architecture Modèle-Vue-Contrôleur et comment mettre en œuvre les outils puissants que sont l'ORM Doctrine et le moteur de templates Twig.
Nous apprendrons à nous servir de l'injection de dépendances et des services pour réaliser des applications modulaires à base de briques prévues pour être réutilisées et assemblées entre elles.
Nous verrons également comment quel bénéfice tirer des nombreux fichiers de configuration déclaratifs qui évitent (voire empêchent) un bon nombre de mauvaises pratiques et facilitent l'administration des applications.
A la fin de ce premier cours, vous pourrez développer vos propres applications à partir de la boîte à outils de Symfony, mais aussi des nombreuses bibliothèques disponibles sur les dépôts PHP.
Au cours de cette session, nous présenterons d'une manière générale toutes les caractéristiques qui font de symfony un framework open source tourné vers le monde professionnel.
Il s'agira dans un premier temps de montrer que symfony n'est pas seulement une base de code mais un projet open source à part entière disposant d'un écosystème riche sur lequel n'importe quel développeur peut compter.
Nous porterons ensuite un oeil plus attentif aux fonctionnalités phares du framework telles que sa couche d'abstraction de base de données, son interface en ligne de commande, le routing bidirectionnel, les outils de test automatisés ou bien encore le générateur automatique de backoffice.
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINEMarouan OMEZZINE
Une introduction / ébauche au langage PHP (intro, xampp, premier pas, les structures, les variables, les types, les fonctions ...) faite dans le cadre des formations inter-membres du club Junior ENSI (http://www.junior-ensi.org/) de l'école nationale des sciences de l'informatique (http://www.ensi.rnu.tn/).
Atelier Framework Web Côté Serveur
TP N° 2
Les Bases de Symfony
Objectifs
• Découvrir l’architecture d’un projet Symfony et son principe de fonctionnement,
• Découvrir la structure des fichiers PHP sous Symfony (namespace, Class, use, …)
• Créer un Bundle et découvrir son architecture,
• Découvrir les Contrôleurs et les Routes.
Gestion des dépendances dans un projet PHP - Forum PHP 2012Jean-Marc Fontaine
Que ce soit un framework, des modules ou des libraires spécialisées, la plupart des application web modernes utilisent du code tiers. Ce code a son propre cycle de développement. Il faut donc pouvoir intégrer régulièrement les nouvelles versions sans pour autant perdre la maîtrise de son propre cycle. La tâche n'est pas aisée si elle n'a pas été été prévue dès la conception de l'application. Nous verrons différentes approches pour gérer les dépendances dont les gestionnaires de paquet du système d'exploitation, les liens externes dans les dépôts de code, les fichiers PHAR, l'installateur PEAR et le tout récent Composer.
Gestion des dépendances dans un projet PHP - RMLL 2012Jean-Marc Fontaine
Que ce soit un framework, des modules ou des libraires spécialisées, la plupart des application web modernes utilisent du code tiers. Ce code a son propre cycle de développement. Il faut donc pouvoir intégrer régulièrement les nouvelles versions sans pour autant perdre la maîtrise de son propre cycle. La tâche n’est pas aisée si elle n’a pas été été prévue dès la conception de l’application.
Nous verrons différentes approches pour gérer les dépendances dont les gestionnaires de paquet du système d’exploitation, les liens externes dans les dépôts de code, les fichiers PHAR, l’installateur PEAR et le tout récent Composer.
Présentation à Code d'Armor Lannion, 12 mars 2019.
État de l'art et avancée de la nouvelle version du framework.
Vidéo à retrouver sur:
https://www.youtube.com/channel/UC3MIXkWlQAvzQLa3ALbSqhg
Symphonie pour PHP industrialisé en agilité majeureJonathan Bonzy
Présentation pour l'Agile Grenoble 2011
Avoir des millions d'amis, comparer des millions d'offres ou publier des millions de news sont autant d’exemples d’applications écrites en PHP. Ce langage de la “programmation pour les nuls”, qui permet tous les écarts, reste pourtant un choix privilégié pour les solutions web. Avec les bons outils et les bonnes pratiques, ce langage est modulable, testable et facilement livrable. Au travers d’une approche technique montrant par l’exemple quels instruments choisir, découvrez comment jouer la partition d’une symphonie pour PHP industrialisé en agilité majeure.
Au programme:
- Dégager un boilerplate d’un projet PHP ou comment ne pas tout jeter à l’arrivée
- Reprendre la main sur leur projet frontend et avoir une stratégie de refactoring par les tests
“Not only working software, but also well-crafted software” - Manifesto for Software Craftsmanship
Présentation animée en faveur des étudiantes de l’Ecole Nationale des Sciences Appliquées d'Oujda à l'occasion des "open source Day's".
L'objectif est d'initier les personnes aux notions basique du développement sous Android :
- Environnement de développement et plateforme
- Création d'une première application
- Découvrir les notions d'Activité, de layout ...
Certes décroché un job est difficile, Mais réussir une bonne carrière est beaucoup plus difficile.
Dans la présentation je vous montre comment vous pouvez gérer et réussir votre carrière en quatres étapes. cette approche est issues d'une approche purement commercial pour votre un produit, le produit dans ce cas ces vous, c'est
4. Symfony 2, un Framework
PHP
4
Symfony2 est un Framework PHP open source , c' est-à-dire une
boite à outils faite en PHP dans but de vous simplifier le
développement des applications et sites web.
Un Framework Français créé par la société SensioLab, en sa
première version sortie en 2005
Une communauté active qui utilise le framework et qui contribue
en retour
Une documentation de qualité et régulièrement mise à jour
Un code source maintenu par des développeurs attitrés
Un code qui respecte les standards de programmation
Un support à long terme garanti et des mises à jour qui ne
cassent pas la compatibilité
5. Télécharger Symfony 2.2
5
Disponible sur le lien : http://symfony.com/download
Deux options de téléchargement :
1.
Version " without vendors" . Les librairies tierces seront ainsi
téléchargées via Git en exécutant le script « bin/vendors » situé
dans l'archive
exécutez la commande :
1.
php bin/vendors install
Version simple, avec les vendors, pour avoir toutes les librairies
incluses
6. Première Installation 1/3
Décompressez les fichiers dans votre répertoire web
habituel, par exemple "C:wampwww" pour Windows
Vérifier votre configuration PHP en accédant à l‟url :
« http://localhost/symfony/web/config.php »
6
7. Première Installation 2/3
7
Configuration de votre instance Symfony :
http://localhost/symfony/web/app_dev.php/_configurator
Configuration en deux étapes :
1.
Données d‟accès à la base de donnée
2.
Génération d‟un hashcode utilisé pour des raisons de
sécurités
8. Première Installation 3/3
8
C‟est bon ! Vous pouvez maintenant vous connecter à votre
premier application Symfony 2 :
http://localhost/symfony/web/app_dev.php/
9. Arborescence des fichiers
9
4 principaux répertoires :
1.
app/ : Contient les fichiers des applications sauf
le code source, notamment; la configuration, le
cache, les fichiers logs etc...
2.
vendor/ : contient toutes les librairies
externes, comme Doctrine, Twig, Swiftmailer…
3.
Web/ : Ce répertoire contient tous les fichiers
destinés aux visiteurs : images , fichiers CSS et
JavaScript … Il contient également le
contrôleur frontal (app.php), dont nous
parlerons après. (NB: c‟est le seul repertoire qui
doit être accessible par les internautes)
4.
src/ : contient le code source des applications
organisé sous forme de bundles (par défaut il
contient un bundle d‟exemple fourni par
Symfony)
11. La notion de « Bundle »
Un bundle est une brique de votre application, permet de
regrouper toutes les ressources
11
Quel intérêt ?
E n plus d' organiser votre code par fonctionnalité, la découpe en
bundles permet l'échange de bundles entre applications ! Cela
signifie que vous pouvez développer une fonctionnalité, puis la
partager avec d'autres développeurs ou encore la réutiliser dans
un de vos autres projets. Et de même utiliser des bundles d‟autre
développeurs
Dans Symfony2, chaque partie de votre site est un bundle
Les Bundles de la communauté : http://knpbundles.com/
12. Créer un « Bundle »
Dans la racine de Symfony, taper la commande :
php app/console generate:bundle
Ensuite suivre les étapes sur la consoles
12
13. Créer un « Bundle »
Générer un bundle en ligne de commande
13
14. Structure d‟un bundle
14
Controller/ : Contient les contrôleurs
DependencyInjection/ : les informations
sur votre bundles
Ressources/
--- config/ : Contient les fichier de
configuration, notamment les routes
--- doc/ : contient la documentation
--- public/ : Contient les fichiers publics de
votre bundle : fichiers CSS et
JavaScript, images, etc
--- translations/
--- views / : Contient les vues de notre
bundle ( les templates Twig )
Tests/ : Contient vos éventuels tests
unitaires et fonctionnels.
15. Bundle :
Controller et View
15
Récupère les informations http
Renvois la réponse.
Contient la logique de
l‟application.
Considéré comme chef
d‟orchestre qui fait la liaison entre
tous les éléments.
Afficher le résultat de l‟ action
Assurer la séparation entre le
code HTML et le code PHP,
Utilisation du moteur de template
Twig.
17. Manipuler les variables
envoyées en POST et/ou GET
17
Récupérer l ' objet Request depuis notre contrôleur
Utiliser l‟objet pour récupérer les variables GET et/ou POST
GET : $request->query->get(„nom_variable‟)
POST : $request->request>get(„nom_variable‟)
Et Aussi les Cookies : $request->cookies->get(„nom_variable‟)
Pour les sessions :
$session = $this->get('session');
$session->get('user_id')
18. La configuration : Système
d‟annotation
18
Plusieurs possibilité : yml, xml et annotation
L‟annotation est le moyen le plus rapide et simple pour des
projets de petite et moyenne taille
Comment ça marche ?
Commentaire du genre :
@MotCles(Valeur2, Valeur2…)
19. Les Routes en Symfony
19
Les routes en Symfony2 déterminent quel contrôleur exécuter en
fonction de l‟URL appelé par l‟internaute
Annotation à ajouter au niveau des classes PHP des contrôleurs
@Route([URL], [Param 1], [Param 2]… )
Important : n‟oublier pas d‟appeler la classe Route par le
namespace suivant
use SensioBundleFrameworkExtraBundleConfigurationRoute
21. Les routes :
Règles 2/6
Pour chaque route on peut definer :
1.
/{nom_variable} à passer en paramètre de la méthode
2.
requierements={“nom_variable” = [expression régulière]}
3.
defaults={“nom_variable” = “”valeur par defaut}
21
22. Les routes :
Règles 3/6
Il est aussi possible de définir plusieurs URL‟s au même
controleur
22
23. Les routes :
Règles 4/6
23
Important : Pour que Symfony prend en compte les
annotations de routes définis dans le contrôleur, il faut
l‟activer en ajouter les lignes suivantes au fichier de config
“app/config/routing.yml”
Par fichier :
Par répertoire
24. Les routes :
Règles 5/6
Définir pour chaque contrôleur un prefix d‟url
Lors de l’activation
Au niveau du fichier
24
25. Les routes :
Règles 6/6
25
Définir un nom pour chaque route , cela peut être utiliser pour
générer des liens dans les vues
Chaque route peut correspondre à une methode GET ou POST ou
les deux
26. Symfony Possède un
système de cache
Pensez à vider le cache, des fois il suffit de le faire
pour votre code fonctionne correctement :
php app/console cache:clear
26