Articles taggés avec ‘Modèle’

Gestion automatique d’une colonne de tri avec un Comportement

Nous avons souvent besoin d’une colonne de tri numérique dans une table, lorsque les données de cette table ne peuvent être classées selon un ordre standard, comme l’ordre alphabétique ou la date de création. C’est pourquoi nous avons créé un Comportement (Behavior) pour gérer automatiquement les opérations de maintenance de l’index de tri en cas d’ajout, modification ou suppression de données. Le Comportement ajoute également deux méthodes au Modèle associé, moveUp et moveDown, pour monter ou descendre un enregistrement de la table. Lire la suite

belongsTo : génération de la liste déroulante des données du modèle associé

Imaginons un classement de documents par type de document : le formulaire de création / édition d’un document doit faire apparaître la liste déroulante des types de document disponibles. Pour ce faire, nous utilisions la méthode generateList, mais celle-ci est dépréciée dans la version 1.2.0.6311-beta. Voyons comment générer la liste déroulante avec la méthode find('list'). Lire la suite

Gestion des erreurs de base de données

Lors du développement d’un site, nous voyons toutes les erreurs et les avertissements grâce à un niveau de debug réglé sur 2 dans {app}/config/core.php. Lors de la mise en ligne du site, nous mettons ce niveau à 0, les erreurs deviennent donc invisibles à l’utilisateur. Mais si une erreur SQL survient, cela peut fortement affecter le fonctionnement du site, et nous voulons en être averti immédiatement.

La classe Model possède une méthode de callback, “onError”, appelée automatiquement lorsqu’une opération sur la base de données produit une erreur. Nous allons se servir de cette fonction pour gérer efficacement une erreur SQL. Lire la suite

Une clé étrangère présente deux fois dans une table

Imaginons une application de gestion de résultats sportifs : nous avons une table “equipes” et une table “rencontres”. La table “recontres” va comporter deux fois la clé primaire de la table “equipes” : equipe_locaux_id pour l’équipe locale et equipe_visiteurs_id pour l’équipe des visiteurs. Comment gérer cette association particulière dans CakePHP ? Lire la suite

Mise en place d’une double-configuration automatique

Lors du développement d’un site CakePHP sur notre machine, nous devons configurer certains réglages spécifiques à notre environnement de développement. Ces réglages seront la plupart du temps différents sur l’espace d’hébergement en ligne lorsque le site sera terminé. Voyons comment gérer simplement une double-configuration développement / production avec CakePHP. Lire la suite

A propos

Le site

Formation-CakePHP regroupe des articles d’auto-formation à l’utilisation du cadre de développement d’applications PHP (ou framework) : CakePHP. Conçu sur le modèle de conception dit “MVC” pour “Modèle - Vue - Contrôleur”, il impose une séparation nette entre l’accès aux données, rôle du Modèle, le traitement, rôle du Contrôleur, et la présentation, rôle de la Vue. Lire la suite