Méthodologie

Versionner un projet avec Git : principes et bases

Le gestionnaire de source est un outil indispensable pour le développement d’applications. Nous commencerons par expliquer son principe, puis aborderons l’utilisation d’un gestionnaire de source très complet, Git, avec CakePHP. Lire la suite

Un plugin de formulaire de contact

Ce plugin fournit un formulaire de contact basique qui vous envoie les informations du contact par email, et les stocke dans la base de données au cas où un problème survienne lors de l’envoi de l’email. Il reprend le principe d’un précédent article de Formation CakePHP. Lire la suite

Le piège du counterCache : créons un behavior !

Dans le tutoriel précédent : Mise en place du counterCache : un piège à éviter, nous avions vu comment mettre en place le counterCache entre deux modèles associés en belongsTo et comment mettre à jour le compteur d’origine, lorsqu’un enregistrement change de parent.

L’astuce consistait à placer notre logique dans les callbacks beforeSave et afterSave du modèle Post, dans lequel est déclarée l’association belongsTo avec le modèle Category. Tout cela fonctionne bien pour un seul modèle, mais si l’application a plusieurs counterCache actifs, il faut dupliquer l’astuce dans tous les modèles, ce qui est peu productif et ne permet pas de réutiliser l’astuce dans d’autres projets.

Nous allons donc créer un Behavior, nommé tout simplement Counter, pour exécuter automatiquement la mise à jour du counterCache lorsque des enregistrements change de parent. Lire la suite

Quelques astuces pour la génération des requêtes SQL

Nous allons voir comment contrôler finement les requêtes SQL préparées par CakePHP sans nous écarter des méthodes habituelles, c’est à dire le passage d’un tableau d’options à la méthode Model::find();. Lire la suite

Factoriser les actions redondantes

Au fil des projets CakePHP, nous nous apercevons très vite qu’un certain nombre d’actions de nos Contrôleurs sont répétées quasiment à l’identique, en particulier les actions d’administration. Dans la mesure où tous les Contrôleurs de l’application héritent de la classe AppController, profitons-en pour factoriser les actions redondantes sous la forme la plus générique possible. Lire la suite

Déploiement d’un site avec Rsync

Pour faire suite à l’article sur l’hébergement d’un site CakePHP sur OVH , nous allons aborder une méthode plus robuste que le FTP pour déployer notre site : la synchronisation des fichiers avec Rsync. Lire la suite

Contrôleur : une seule action pour l’ajout et la modification

Un Contrôleur contient typiquement les actions classiques pour l’ajout, la modification, la suppression et la lecture d’un enregistrement. Il nous apparaît inutile de faire deux actions différentes pour l’ajout et la modification d’un enregistrement. Cela oblige à faire deux vues, alors qu’une seule suffit : soit nous affichons un formulaire vide pour un ajout, soit un formulaire prérempli pour une modification. Lire la suite

URL Rewriting souple : les routes de CakePHP

CakePHP offre une réelle souplesse dans la gestion de l’URL Rewriting à condition d’utiliser des « routes » et de toujours définir les liens de la même façon. Lire la suite

Démarrer un projet CakePHP

Nous allons voir en 5 étapes la création d’un nouveau projet CakePHP sous Windows avec Xampp et Eclipse PDT. Nous souhaitons pouvoir placer notre travail dans le dossier C:\Sites\ en créant un sous répertoire à chaque nouveau projet. Lire la suite

Environnement de travail pour CakePHP sous Windows

Il est important de partir sur de bonnes bases pour commencer à développer avec CakePHP. Voici les étapes à suivre pour bien démarrer sous Windows et avec des outils libres et gratuits uniquement. Lire la suite