Les Cahiers du Programmeur - Symfony

دانلود کتاب Les Cahiers du Programmeur - Symfony

دسته: فن آوری

37000 تومان موجود

کتاب نوت بوک برنامه نویس - Symfony نسخه زبان اصلی

دانلود کتاب نوت بوک برنامه نویس - Symfony بعد از پرداخت مقدور خواهد بود
توضیحات کتاب در بخش جزئیات آمده است و می توانید موارد را مشاهده فرمایید


این کتاب نسخه اصلی می باشد و به زبان فارسی نیست.


امتیاز شما به این کتاب (حداقل 1 و حداکثر 5):

امتیاز کاربران به این کتاب:        تعداد رای دهنده ها: 7


توضیحاتی در مورد کتاب Les Cahiers du Programmeur - Symfony

نام کتاب : Les Cahiers du Programmeur - Symfony
عنوان ترجمه شده به فارسی : نوت بوک برنامه نویس - Symfony
سری :
نویسندگان : ,
ناشر : Eyrolles
سال نشر : 2009
تعداد صفحات : 510
ISBN (شابک) : 9782212124941
زبان کتاب : French
فرمت کتاب : pdf
حجم کتاب : 7 مگابایت



بعد از تکمیل فرایند پرداخت لینک دانلود کتاب ارائه خواهد شد. درصورت ثبت نام و ورود به حساب کاربری خود قادر خواهید بود لیست کتاب های خریداری شده را مشاهده فرمایید.


فهرست مطالب :


Découvrir l’étude de cas développée......Page 7
En quoi cet ouvrage est-il différent ?......Page 8
Organisation de l’ouvrage......Page 9
Remerciements......Page 13
1......Page 24
Démarrage du projet......Page 25
Installer les librairies du framework Symfony......Page 26
Générer la structure de base du projet......Page 29
Générer la structure de base de la première application frontend......Page 30
Découvrir les environnements émulés par Symfony......Page 31
Spécificités de l’environnement de développement......Page 32
Spécificités de l’environnement de production......Page 33
Méthode 1 : configuration dangereuse à ne pas reproduire......Page 34
Création d’un nouveau serveur virtuel pour Jobeet......Page 35
Tester la nouvelle configuration d’Apache......Page 36
Installer et configurer le dépôt Subversion......Page 38
En résumé…......Page 40
2......Page 42
L’étude de cas......Page 43
À la découverte du projet…......Page 44
Scénario F1 : voir les dernières offres en page d’accueil......Page 46
Scénario F2 : voir les offres d’une catégorie......Page 47
Scénario F4 : obtenir le détail d’une offre......Page 48
Scénario F5 : poster une nouvelle annonce......Page 49
Scénario B1 : gérer les catégories......Page 51
Scénario B4 : configurer le site Internet......Page 52
En résumé…......Page 53
3......Page 54
Concevoir le modèle de données......Page 55
Configurer la base de données pour le projet Symfony......Page 56
Présentation de la couche d’ORM Doctrine......Page 57
Qu’est-ce qu’un ORM ?......Page 58
Activer l’ORM Doctrine pour Symfony......Page 59
Découvrir le diagramme UML « entité-relation »......Page 60
Écrire le schéma de définition de la base de données......Page 61
Déclaration des attributs des colonnes d’une table en format YAML......Page 63
Construire la base de données automatiquement......Page 64
Découvrir les classes du modèle de données......Page 65
Générer la base de données et le modèle en une seule passe......Page 66
Découvrir les différents types de données d’un projet Symfony......Page 67
Définir des jeux de données initiales pour Jobeet......Page 68
Régénérer la base de données et le modèle en une seule passe......Page 70
Composition de base d’un module généré par Symfony......Page 71
Découvrir les actions du module « job »......Page 72
Comprendre l’importance de la méthode magique __toString()......Page 73
Ajouter et éditer les offres d’emploi......Page 74
En résumé…......Page 75
4......Page 76
Le contrôleur et la vue......Page 77
L’architecture MVC et son implémentation dans Symfony......Page 78
Décorer une page avec un en-tête et un pied de page......Page 79
Décorer le contenu d’une page avec un décorateur......Page 80
Récupérer les images et les feuilles de style......Page 82
Configurer la vue à partir d’un fichier de configuration......Page 83
Configurer la vue à l’aide des helpers de Symfony......Page 85
Écrire le contrôleur de la page : l’action index......Page 86
Créer la vue associée à l’action : le template......Page 87
Personnaliser les informations affichées pour chaque offre......Page 88
Créer le template du détail de l’offre......Page 90
Mettre à jour l’action show......Page 91
Fixer la valeur d’un slot dans un template......Page 92
Déclarer une valeur par défaut pour le slot......Page 93
Rediriger vers une page d’erreur 404 si l’offre n’existe pas......Page 94
Récupérer le détail de la requête envoyée au serveur......Page 95
Récupérer le détail de la réponse envoyée au client......Page 96
En résumé…......Page 97
5......Page 98
Le routage......Page 99
Qu’est-ce qu’une URL ?......Page 100
Découverte de la configuration par défaut du routage......Page 101
Comprendre le fonctionnement des URL par défaut de Symfony......Page 103
Configurer la route d’accès au détail d’une offre......Page 104
Limiter une requête à certaines méthodes HTTP......Page 106
Transformer la route d’une offre en route Doctrine......Page 107
Améliorer le format des URL des offres d’emploi......Page 108
Retrouver l’objet grâce à sa route depuis une action......Page 110
Le routage dans les templates......Page 111
Déclarer une nouvelle collection de routes Doctrine......Page 112
Émuler les méthodes PUT et DELETE......Page 114
Faciliter le débogage en listant les routes de l’application......Page 115
En résumé…......Page 117
6......Page 118
Optimisation du modèle et refactoring......Page 119
Présentation de l’objet Doctrine_Query......Page 120
Avoir recours à la barre de débogage......Page 121
Redéfinir la méthode save() d’un objet Doctrine......Page 122
Mettre à jour les données de test pour s’assurer de la validité des offres affichées......Page 123
Découvrir le fichier de configuration app.yml......Page 124
Remanier le code en continu pour respecter la logique MVC......Page 125
Avantages du remaniement de code......Page 126
Classer les offres d’emploi selon leur catégorie......Page 127
Limiter le nombre de résultats affichés......Page 129
Modifier les données de test dynamiquement par l’ajout de code PHP......Page 131
Empêcher la consultation d’une offre expirée......Page 132
En résumé…......Page 134
7......Page 136
Concevoir et paginer la liste d’offres d’une catégorie......Page 137
Implémenter l’accesseur getSlug() dans la classe JobeetJob......Page 138
Intégrer un lien pour chaque catégorie ayant plus de dix offres valides......Page 139
Implémenter la méthode countActiveJobs() de la classe JobeetCategoryTable......Page 140
Générer automatiquement le squelette du module......Page 142
Mise en place de l’action executeShow()......Page 143
Intégration du template showSuccess.php associé......Page 144
Découvrir le principe de templates partiels......Page 145
Faire appel au partiel dans un template......Page 146
Que sont les listes paginées et à quoi servent-elles ?......Page 147
Initialiser la classe de modèle et le nombre maximum d’objets par page......Page 148
Initialiser le composant de pagination......Page 149
Remanier les méthodes existantes de JobeetCategory......Page 150
Passer la collection d’objets Doctrine au template partiel......Page 151
Afficher les liens de navigation entre les pages......Page 152
Description des méthodes de l’objet sfDoctrinePager utilisées dans le template......Page 153
Code final du template showSuccess.php......Page 154
En résumé…......Page 155
8......Page 156
Les tests unitaires......Page 157
De la nécessité de passer par des tests unitaires......Page 158
Découverte des outils de tests de lime......Page 159
Exécuter une suite de tests unitaires......Page 160
Déterminer les tests à écrire......Page 161
Commenter explicitement les tests unitaires......Page 162
Ajouter des tests pour les nouvelles fonctionnalités......Page 164
Ajouter des tests suite à la découverte d’un bug......Page 165
Implémenter une meilleure méthode slugify......Page 166
Configuration de la base de données......Page 168
Initialiser les scripts de tests unitaires de modèles Doctrine......Page 169
Tester la méthode save() de l’objet JobeetJob......Page 170
Implémentation des tests unitaires dans d’autres classes Doctrine......Page 171
En résumé…......Page 172
9......Page 174
Les tests fonctionnels......Page 175
En quoi consistent les tests fonctionnels ?......Page 176
Tester la navigation en simulant le comportement d’un véritable navigateur......Page 177
Modifier le comportement du simulateur de navigateur......Page 178
Comprendre la structure des fichiers de tests......Page 179
Découvrir le testeur sfTesterResponse......Page 181
Charger des jeux de données de tests......Page 182
Écrire des tests fonctionnels pour le module d’offres......Page 183
Seulement N offres sont listées par catégorie......Page 184
Un lien vers la page d’une catégorie est présent lorsqu’il y a trop d’offres......Page 185
Les offres d’emploi sont triées par date......Page 186
Chacune des offres de la page d’accueil est cliquable......Page 187
Autres exemples de scénarios de tests pour les pages des modules job et category......Page 188
Exécuter successivement des tests fonctionnels......Page 191
En résumé…......Page 192
10......Page 194
Accélérer la gestion des formulaires......Page 195
Les formulaires de base......Page 196
Personnaliser le formulaire d’ajout ou de modification d’une offre......Page 198
Redéfinir plus précisément la configuration d’un champ......Page 199
Remplacer le champ permettant le choix du type d’offre par une liste déroulante......Page 200
Personnaliser le widget permettant l’envoi du logo associé à une offre......Page 202
Présentation de la classe finale de configuration du formulaire d’ajout d’une offre......Page 204
Générer le rendu d’un formulaire......Page 206
Découvrir les méthodes de l’objet sfForm......Page 207
Manipuler les formulaires dans les actions......Page 208
Découvrir les méthodes autogénérées du module job utilisant les formulaires......Page 209
Simplifier le traitement du formulaire dans le module job......Page 210
Définir les valeurs par défaut d’un formulaire généré par Doctrine......Page 211
Générer le jeton automatiquement à la création......Page 212
Redéfinir la route d’édition de l’offre grâce au jeton......Page 213
Construire la page de prévisualisation......Page 214
Préparer la route vers l’action de publication......Page 216
Implémenter la méthode publish() de l’objet JobeetJob......Page 217
Empêcher la publication et l’accès aux offres non actives......Page 218
En résumé…......Page 219
11......Page 220
Tester les formulaires......Page 221
Utiliser le framework de formulaires de manière autonome......Page 222
Tester l’envoi du formulaire de création d’offre......Page 223
Soumettre le formulaire à l’aide de la méthode click()......Page 224
Les méthodes de l’objet sfTesterForm......Page 225
Tester les objets générés par Doctrine......Page 226
Tester les erreurs des champs du formulaire......Page 227
La méthode isError() pour le contrôle des champs......Page 228
Tester la barre d’administration d’une offre......Page 229
Forcer l’utilisation de la méthode HTTP DELETE......Page 230
Simuler l’autopublication d’une offre......Page 231
Contrôler la redirection vers une page d’erreur 404......Page 232
Empêcher l’accès au formulaire d’édition lorsque l’offre est publiée......Page 233
Une route dédiée pour prolonger la durée d’une offre......Page 234
Implémenter la méthode executeExtend() aux actions du module job......Page 235
Tester la prolongation de la durée de vie d’une offre......Page 236
Sécurité native du framework de formulaire......Page 238
Les tâches automatiques de maintenance......Page 240
Créer la nouvelle tâche de maintenance jobeet:cleanup......Page 241
Implémenter la méthode cleanup() de la classe JobeetJobTable......Page 242
En résumé…......Page 243
12......Page 244
Le générateur d’interface d’administration......Page 245
Recharger les jeux de données initiales......Page 246
Générer les modules category et job......Page 247
Découvrir les fonctions des modules d’administration......Page 248
Améliorer le layout du backoffice......Page 249
Comprendre le cache de Symfony......Page 251
Introduction au fichier de configuration generator.yml......Page 252
Changer le titre des pages du module category......Page 253
Configurer les titres des pages du module job......Page 254
Surcharger localement les propriétés des champs du module......Page 255
Colonnes à afficher dans la liste des catégories......Page 256
Configurer le layout du tableau de la vue liste......Page 257
Déclarer des colonnes « virtuelles »......Page 258
Réduire le nombre de résultats par page......Page 259
Désactiver les actions par lot dans le module category......Page 260
Ajouter de nouvelles actions par lot dans le module job......Page 261
Supprimer les actions d’objets des catégories......Page 263
Configurer les actions globales de la vue liste......Page 264
Optimiser les requêtes SQL de récupération des enregistrements......Page 267
Configurer la liste des champs à afficher dans les formulaires des offres......Page 269
Implémenter une nouvelle classe de formulaire par défaut......Page 271
Implémenter un meilleur mécanisme de gestion des photos des offres......Page 273
Configurer la liste des filtres du module job......Page 275
Personnaliser les actions d’un module autogénéré......Page 276
Personnaliser les templates d’un module autogénéré......Page 277
Configuration finale du module job......Page 279
Configuration finale du module category......Page 280
En résumé…......Page 281
13......Page 282
Authentification et droits avec l’objet sfUser......Page 283
Découvrir les fonctionnalités de base de l’objet sfUser......Page 284
Écrire des messages flash depuis une action......Page 285
Stocker des informations dans la session courante de l’utilisateur......Page 286
Implémenter l’historique de navigation de l’utilisateur......Page 287
Implémenter l’historique de navigation dans la classe myUser......Page 288
Afficher l’historique des offres d’emploi consultées......Page 289
Implémenter un moyen de réinitialiser l’historique des offres consultées......Page 291
Découvrir le fichier de configuration security.yml......Page 292
Personnaliser la page de login par défaut......Page 293
Restreindre les actions d’une application à l’utilisateur......Page 294
Établir des règles de droits d’accès complexes......Page 295
Gérer les droits d’accès via l’objet sfBasicSecurityUser......Page 296
Installation du plug-in sfDoctrineGuardPlugin......Page 297
Implémenter de nouvelles méthodes à l’objet User via la classe sfGuardSecurityUser......Page 298
Activer le module sfGuardAuth et changer l’action de login par défaut......Page 299
Cacher le menu de navigation lorsque l’utilisateur n’est pas authentifié......Page 300
Ajouter un nouveau module de gestion des utilisateurs......Page 301
Implémenter de nouveaux tests fonctionnels pour l’application frontend......Page 302
En résumé…......Page 303
14......Page 304
Les flux de syndication ATOM......Page 305
Définir le format de sortie d’une page......Page 306
Présentation générale du format ATOM......Page 307
Le flux ATOM minimal valide......Page 308
Déclarer un nouveau format de sortie......Page 309
Rappel des conventions de nommage des templates......Page 310
Ajouter le lien vers le flux des offres dans le layout......Page 311
Générer les informations globales du flux......Page 312
Générer les entrées du flux ATOM......Page 313
Flux ATOM des dernières offres d’une catégorie......Page 314
Mise à jour des liens des flux de la catégorie......Page 315
Factoriser le code de génération des entrées du flux......Page 316
Générer le template du flux des offres d’une catégorie......Page 317
En résumé…......Page 319
15......Page 320
Construire des services web......Page 321
Préparer des jeux de données initiales des affiliés......Page 322
Déclaration de la route dédiée du service web......Page 324
Implémenter la méthode getActiveJobs() de l’objet JobeetAffiliate......Page 325
Implémenter l’action executeList() du module api......Page 326
Implémenter la méthode asArray() de JobeetJob......Page 327
Le format XML......Page 328
Le format JSON......Page 329
Le format YAML......Page 330
Écrire des tests fonctionnels pour valider le service web......Page 333
Déclarer la route dédiée du formulaire d’inscription......Page 334
Construction des templates......Page 335
Implémenter les actions du module affiliate......Page 336
Tester fonctionnellement le formulaire......Page 338
Générer le module d’administration affiliate......Page 339
Paramétrer le module affiliate......Page 340
Implémenter les nouvelles fonctionnalités d’administration......Page 341
Installer et configurer le framework Zend......Page 344
Implémenter l’envoi d’un e-mail à l’activation du compte de l’affilié......Page 345
En résumé…......Page 347
16......Page 348
Déployer un moteur de recherche......Page 349
Présentation de Zend Lucene......Page 350
Créer et récupérer le fichier de l’index......Page 351
Mettre à jour l’index à la sérialisation d’une offre......Page 352
Sécuriser la sérialisation d’une offre à l’aide d’une transaction Doctrine......Page 354
Implémenter la recherche d’informations pour Jobeet......Page 355
Tester la méthode getForLuceneQuery() de JobeetJob......Page 358
Nettoyer régulièrement l’index des offres périmées......Page 359
En résumé…......Page 361
17......Page 362
Dynamiser l’interface utilisateur avec Ajax......Page 363
Découvrir la librairie jQuery......Page 364
Charger la librairie jQuery sur chaque page du site......Page 365
Découvrir les comportements JavaScript avec jQuery......Page 366
Intercepter la valeur saisie par l’utilisateur dans le moteur de recherche......Page 367
Exécuter un appel Ajax pour interroger le serveur web......Page 368
Faire patienter l’utilisateur avec un « loader »......Page 369
Déplacer le code JavaScript dans un fichier externe......Page 370
Déterminer que l’action provient d’un appel Ajax......Page 371
Message spécifique pour une recherche sans résultat......Page 372
En résumé…......Page 373
18......Page 374
Internationalisation et localisation......Page 375
Que sont l’internationalisation et la localisation ?......Page 376
Modifier la culture par défaut de Symfony......Page 377
Déterminer les langues favorites de l’utilisateur......Page 378
Transformer le format des URLs de Jobeet......Page 379
Attribuer dynamiquement la culture de l’utilisateur d’après la configuration de son navigateur......Page 380
Tester les nouvelles implémentations liées à la culture......Page 383
Changer de langue manuellement......Page 384
Intégration non conforme du formulaire de changement de langue......Page 385
Intégration du formulaire de changement de langue avec un composant Symfony......Page 386
Paramétrer le support des langues, jeux de caractères et encodages......Page 389
Utiliser le helper de traduction __()......Page 391
Extraire les contenus internationalisés vers un catalogue XLIFF......Page 393
Traduire des contenus dynamiques......Page 394
Le cas des chaînes dynamiques simples......Page 395
Traduire des contenus pluriels à partir du helper format_number_choice()......Page 396
Activer la traduction des objets Doctrine......Page 397
Mettre à jour les données initiales de test......Page 398
Surcharger la méthode findOneBySlug() du modèle JobeetCategoryTable......Page 399
Mettre à jour le modèle et la route de la catégorie......Page 400
Mise à jour de la route category de l’application frontend......Page 401
Utiliser la méthode embedI18n() de l’objet sfFormDoctrine......Page 402
Internationalisation de l’interface du générateur d’administration......Page 403
Tester l’application pour valider le processus de migration de l’I18N......Page 404
Les helpers du groupe Number......Page 405
Régionaliser les formats de données dans les formulaires......Page 406
En résumé…......Page 407
19......Page 408
Les plug-ins......Page 409
Les plug-ins privés......Page 410
Découvrir la structure de fichiers d’un plug-in Symfony......Page 411
Créer le plug-in sfJobeetPlugin......Page 412
Transformer les classes concrètes en classes abstraites......Page 413
Reconstruire le modèle de données......Page 414
Déplacer la classe Jobeet vers le plug-in......Page 416
Renommer les noms des classes d’actions et de composants......Page 417
Mettre à jour les actions et les templates......Page 418
Mettre à jour le fichier de configuration du routage......Page 419
Activer les modules de l’application frontend......Page 421
Migrer les fichiers d’internationalisation de l’application......Page 422
Configuration du plug-in......Page 423
Développement de la classe JobeetUser......Page 424
Comparaison des structures des projets et des plug-ins......Page 426
Naviguer dans l’interface dédiée aux plug-ins......Page 427
Les différentes manières d’installer des plug-ins......Page 428
Écrire le fichier package.xml......Page 429
Héberger un plug-in public dans le dépôt officiel de Symfony......Page 432
En résumé…......Page 433
20......Page 434
La gestion du cache......Page 435
Pourquoi optimiser le temps de chargement des pages ?......Page 436
Comprendre la configuration par défaut du cache......Page 437
Créer le contrôleur frontal du nouvel environnement......Page 438
Manipuler le cache de l’application......Page 439
Activation du cache de la page d’accueil de Jobeet......Page 440
Principe de fonctionnement du cache de Symfony......Page 441
Nettoyer le cache de fichiers......Page 442
Exclure la mise en cache du layout......Page 443
Fonctionnement de la mise en cache sans layout......Page 444
Configuration du cache......Page 445
Principe de fonctionnement de la mise en cache......Page 446
Comprendre la problématique de la mise en cache des formulaires......Page 447
Désactiver la création du jeton unique......Page 448
Forcer la régénération du cache depuis une action......Page 449
Tester la mise en cache du formulaire de création d’une offre d’emploi......Page 451
En résumé…......Page 452
21......Page 454
Le déploiement en production......Page 455
Vérifier la configuration du serveur web......Page 456
Embarquer le framework Symfony......Page 457
Garder Symfony à jour en temps réel......Page 458
Remplacer les pages d’erreur interne par défaut......Page 460
Modifier le répertoire par défaut de la racine web......Page 461
À la découverte des factories......Page 462
Modification du nom du cookie de session......Page 463
Définir la durée de vie maximale d’une session......Page 464
Définir les objets d’enregistrement d’erreur......Page 465
Déploiement à l’aide d’une connexion SSH et rsync......Page 466
Configurer rsync pour exclure certains fichiers du déploiement......Page 467
Nettoyer le cache de configuration du serveur de production......Page 468
En résumé…......Page 469
Le format YAML......Page 471
Les chaînes de caractères......Page 472
Les nombres octaux......Page 473
Les valeurs booléennes......Page 474
Les associations simples......Page 475
Les associations complexes imbriquées......Page 476
Syntaxe alternative pour les séquences et associations......Page 477
Les fichiers YAML dynamiques......Page 478
Exemple complet récapitulatif......Page 479
Le fichier de configuration settings.yml......Page 481
Configuration de la section .settings......Page 482
Configuration par défaut......Page 483
escaping_strategy......Page 484
charset......Page 485
etag......Page 486
no_script_name......Page 487
compressed......Page 488
web_debug_dir......Page 489
max_forwards......Page 490
Le fichier de configuration factories.yml......Page 491
Configuration du service request......Page 492
Configuration du service storage......Page 493
Configuration du service logger......Page 494
path_info_key......Page 495
send_http_headers......Page 496
Configuration par défaut......Page 497
Configuration par défaut......Page 498
session_cache_limiter......Page 499
Le service view_cache......Page 500
source......Page 501
Configuration par défaut......Page 502
extra_parameters_as_query_string......Page 503
Configuration par défaut......Page 504
Configuration par défaut......Page 505
Les services de cache anonymes......Page 506
F......Page 507
P......Page 508
T......Page 509
Z......Page 510




پست ها تصادفی