Se connecter
Obtenir un accès complet à cette formation
Devenez un pro Symfony 5
Partie 1: Introduction à Symfony
1 - Bienvenue
2 - Introduction
3 - Les pré-requis
4 - Qu'est-ce que Symfony?
5 - Composer
6 - Les composants VarDumper et YAML
Partie 2: Hello Symfony!
7 - Introduction
8 - Créer un nouveau projet Symfony
9 - Challenge 1: Hello You!
10 - D'où provient la page d'accueil Symfony? [Uniquement pour les guerriers]
11 - De notre contrôleur à notre vue
12 - Challenge 2: Vous venez d'où?
13 - Variables et Filtres Twig
14 - Challenge 3: Passage de données
15 - Un meilleur workflow avec le client Symfony et le bundle Maker
16 - Challenge 4: Pourquoi se compliquer la vie?
17 - Layouts et Assets
18 - Challenge 5: Faites vous plaisir!
19 - Déploiement avec Heroku
20 - Challenge 6: J'ai hâte de voir votre application!
Partie 3: Projet Eventbrote
21 - Création du projet Eventbrote
22 - Challenge 7: KackStarter
23 - De notre contrôleur à notre vue!
24 - Challenge 8: Une pluie de projets
25 - Configuration de l'accès à une base de données MySQL
26 - Configuration de l'accès à une base de données SQLite
27 - Challenge 9: Où cachez-vous vos données?
28 - Création d'une entité Event
29 - Challenge 10: De quelle entité parlez-vous?
30 - Un grand pouvoir implique de grandes responsabilités
31 - Challenge 11: À chacun sa responsabilité!
32 - L'Entity Manager
33 - Challenge 12: Il est temps de démarrer vos projets!
34 - Le Service Container
35 - La Console PsySH
36 - Challenge 13: Où est ma console?
37 - Le Client Symfony ne finira jamais de nous épater!
38 - Actions CRUD Doctrine (Create Read Update Delete)
39 - Challenge 14: Vous êtes maître de votre console!
40 - Le M, le V et le C
41 - Challenge 15: Salut Mister MVC
42 - Twig Extensions
43 - Challenge 16: Des extensions à tous les niveaux
44 - Les migrations
45 - Challenge 17: Savez-vous migrer?
46 - Description des migrations
47 - Challenge 18: Pouvez-vous me décrire?
48 - Repopuler la base de données
49 - Challenge 19: Faites entrer les projets
50 - Affichage des informations restantes
51 - Challenge 20: Vous nous avez oublié?
Partie 4: Anatomie de Symfony
52 - Bundles, Container, Services, Kezako?
53 - Injection de dépendances
54 - Autowiring des arguments d'un contrôleur
55 - Principe de fonctionnement de l'autowiring
56 - Comment configurer un Bundle Symfony?
57 - Gestion des erreurs de configuration
58 - Et si on s’amusait à configurer le filtre number_format?
59 - Le Serveur VarDumper
60 - Parser du Markdown avec Twig MarkdownExtension
61 - Parser du Markdown avec KnpMarkdownBundle
62 - Symfony Cache: Introduction
63 - Symfony Cache: Les contrats Cache
64 - Faire du caching avec Symfony Cache
65 - Profiling du système de cache
66 - Faire du Caching uniquement en Prod
67 - Les paramètres à la rescousse
68 - Création d'un service MarkdownTransformer
69 - L'injection de dépendances
70 - Injection du service de caching
71 - Création d'un filtre Twig markdownify
72 - Une vraie description en Markdown
73 - Rien de magique!
74 - Extension Twig - Fonction Pluralize
75 - Challenge 21: Une description beaucoup plus...
76 - Quand c'est gratuit, je pense qu'il faudrait le dire!
77 - Extension Twig - Fonction format_price
78 - Refactoring avec la méthode isFree
79 - Challenge 22: Il est temps d'écrire vos propres fonctions!
80 - La page show
81 - La méthode createNotFoundException
82 - Netflix and Chill
83 - L'annotation @ParamConverter et les attributs de requête
84 - Challenge 23: Une page pour chaque projet
85 - Petite astuce à savoir
86 - L'utilité des noms de routes & La fonction helper path
87 - La méthode generateUrl
88 - Configuration d'une route pour la page d'accueil
89 - Challenge 24: Il est temps de construire vos propres routes :)
90 - Aide mémoire
Partie 5: TDD - Test Driven Development
91 - Introduction au Test Driven Development
92 - Installer PHPUnit
93 - Challenge 25: À chacun son PHPUnit
94 - Bien démarrer avec PHPUnit
95 - Challenge 26: Deux autres opérations arithmétiques
96 - Notre premier test fonctionnel!
97 - Challenge 27: Vos projets n'attendent plus que vous!
98 - Tester le cycle MVC au grand complet
99 - Challenge 28: Une entité Project
100 - Les transactions, une autre alternative!
101 - In-Memory Database, une histoire de performance!
102 - Challenge 29: Tout le monde aime la performance!
103 - Des messages d'erreurs plus explicites
104 - Challenge 30: Une meilleure compréhension de vos erreurs!
105 - Des tests plus élégants
106 - Challenge 31: La lisibilité, ça compte!
107 - Dumping du contenu de notre réponse
108 - Challenge 32: À chacun sa méthode dump
109 - Assertions sur la présence des autres attributs
110 - Challenge 33: On fait quoi des autres attributs?
111 - Le filtre truncate
112 - Challenge 34: On tronque de partout!
113 - Test de la page affichant les détails d'un évènement spécifique
114 - Challenge 35: Une page pour chaque projet
115 - Navigation entre nos deux pages
116 - Challenge 36: Les liens c'est fait pour ça
117 - Création d'une méthode utilitaire createEvent
118 - Challenge 37: Une méthode utilitaire createProject
119 - Le TDD dans toute sa splendeur!
120 - Challenge 38: Une fonction twig format_date
121 - Ajout de la méthode pluralize
122 - Challenge 39: 1 projet et non 1 projets
123 - Test fonctionnel: 404 "Event Not Found"
124 - Challenge 40: 404 Project Not Found
125 - Data Providers
126 - Challenge 41: C'est qui votre provider?
127 - Les fixtures
128 - Challenge 42: À chacun sa classe Fixtures
129 - Une montagne d'erreurs
130 - Challenge 43: À chacun sa pile d'erreurs
131 - Plus de randomness avec le bundle Faker
132 - Challenge 44: Des projets concrets
133 - Notre première requête customisée
134 - Challenge 45: Mister QueryBuilder
135 - Ajout d'un système de pagination des évènements
136 - Challenge 46: Place à la pagination
137 - Dites bonjour à la commande assets:install
138 - Une description en Markdown
139 - Et si on réglait notre petit problème de troncature avec CakePHP?
140 - Custom Faker Provider
141 - Repassons au vert!
142 - Nouveaux tests fonctionnels pour la page de listing
143 - Comment tester les repositories Doctrine?
144 - Refactoring: EventFactory et RefreshDatabase
145 - Test unitaire de MarkdownExtension (Test doubles: Dummies, Stubs, Mocks)
147 - Les bonnes pratiques sont avant tout des recommandations
148 - Configuration d'environnements
149 - Services publics vs Services privés
150 - Conteneur spécial
151 - Browser Testing vs. Endpoint Testing
152 - Symfony Panther: Une librairie de Browser Testing et de Web Scrapping pour PHP [1/2]
153 - Symfony Panther: Une librairie de Browser Testing et de Web Scrapping pour PHP [2/2]
154 - Intégration de Symfony Panther à notre projet
155 - Refactoring
Partie 6: Gestion de formulaires
156 - Formulaire de contact: Méthode classique
157 - Refactoring: Formulaire de contact à la Symfony
158 - Pourquoi s'arrêter en si bon chemin?
159 - Inférence de types de champs et Bonnes pratiques
160 - Des labels et des placeholders
161 - Populer les données d'un formulaire
162 - Les classes ou types de formulaires
163 - La méthode handleRequest en profondeur
164 - Inspection des formulaires avec le Profiler
165 - Passage d'options customisées à notre type de formulaire
166 - L'option data_class
167 - Les fonctions Twig form_*
168 - Variables de formulaire
169 - Les petits caprices de l'option required
170 - Créer une commande Symfony CleanDatabaseCommand
171 - Envoi de mails avec Symfony
172 - Comment tester les formulaires avec Symfony?
173 - Formulaire d'édition d'évènement
174 - Formulaire de création d'évènement
Partie 7: Layouts & Assets
Partie 8: Les repositories en profondeur
Partie 9: La validation de données
Partie 10: Les relations avec Doctrine
Partie 11: Intégration continue (CI) & Déploiement continu (CD)
Partie 12: Bonus
Test de la page affichant les détails d'un évènement spécifique
Contenu verrouillé
Acheter cette formation afin de débloquer ce contenu
Si vous ne l'avez pas déjà fait,
veuillez vous connecter
.