Ajouter des Exceptions dans CakePHP 2.x
La documentation officielle étant pour l’instant assez obscure sur le sujet, voici comment ajouter simplement ses propres Exceptions dans CakePHP version 2.x Lire la suite
La documentation officielle étant pour l’instant assez obscure sur le sujet, voici comment ajouter simplement ses propres Exceptions dans CakePHP version 2.x Lire la suite
Marre de passer d’interminables tableaux aux méthodes Html->link ou Html->url ? Ce plugin propose un moyen plus rapide pour écrire les url dans CakePHP. Attention, le plugin requiert PHP version 5.3 au minimum. Lire la suite
Une vue SQL est une sorte de table virtuelle construite à partir d’une requête SQL. Nous allons nous en servir pour présenter une liste globale des derniers contenus ajoutés dans plusieurs tables de la base de données. Lire la suite
La solution d’internationalisation de CakePHP passe par le comportement Translate qui renvoie de façon transparente les champs textuels d’un enregistrement dans la langue demandée. Cependant le comportement ne renvoie pas les champs traduits des enregistrements liés au Modèle concerné. Voyons quelles solutions apporter à cela. Lire la suite
La solution de gestion du multilingue de CakePHP suppose le stockage de tous les champs textuels dans une seule table nommée ‘i18n’. Le principe est simple à mettre en place et fonctionne parfaitement, mais sur une application gourmande, il convient d’optimiser cette table. Lire la suite
Ce plugin permet d’installer simplement et rapidement le module de paiement sécurisé proposé par le Crédit Mutuel et le CIC. Il fonctionne avec les versions 4 et 5 de PHP et les versions 1.2 et 1.3 de CakePHP.
La lecture préalable de la documentation technique du module de paiement est chaudement recommandée. Lire la suite
Nous présentons la nouvelle version de notre plugin Twitter, qui permet de faire communiquer facilement une appli CakePHP et un compte Twitter. Cette nouvelle mouture intègre la nouvelle méthode d’authentification par OAuth, mise en place par Twitter et qui va remplacer définitivement l’authentification basique le 30 juin 2010. Nous avons profité de l’occasion pour tester le plugin sur la version 1.3 de CakePHP. Lire la suite
Après la publication de notre plugin CronMailer qui permet d’envoyer des emails en différé par tâche Cron, nous allons voir comment l’installer sur un hébergement mutualisé chez OVH. Le gestionnaire de tâches planifiées, Crontab, est disponible sur toutes les offres sauf les anciennes Start et 1000gp. Un accès SSH est un plus, mais pas une obligation. Nous prendrons d’ailleurs l’exemple d’une offre Perso, l’une des plus petites proposées par l’hébergeur et qui ne dispose pas d’un accès SSH. Lire la suite
Le plugin CronMailer est une solution facile à installer qui permet de gérer une file d’attente d’emails à envoyer par tâche Cron. Ce plugin a pour l’instant été testé avec la branche 1.3 de CakePHP. Le plugin inclut un composant EmailQueueComponent qui gère la file d’attente. Il fonctionne exactement comme le composant EmailComponent du coeur de Cake, à la différence près qu’il enregistre les emails dans la base de données au lieu de les envoyer aussitôt. Le plugin inclut également un Shell exécutable par la console de CakePHP, à lancer soit en ligne de commande, soit avec Crontab pour un envoi différé et par lot. Lire la suite
La version 1.3 de CakePHP offre encore plus de souplesse dans la gestion des Routes. Nous allons l’illustrer avec une application toute simple : des Posts avec un id, un titre, un slug (que l’on peut gérer en toute simplicité avec le Comportement SluggableBehavior) et un contenu.
Nous désirons avoir des url très simples du style www.monsite.tld/slug-du-post. L’idée est de pouvoir créer des Routes de façon dynamique sans avoir à les écrire à la main dans le fichier config/routes.php. CakePHP 1.3 permet de créer une classe à brancher sur le Router qui va analyser une url, rechercher le slug passé en paramètre dans les Posts, et renvoyer sur l’action view du contrôleur PostsController avec le slug du Post en paramètre. Afin de garantir une vitesse de traitement maximale, nous allons mettre la liste des slugs possibles en cache. Lire la suite