background preloader

Cake php

Facebook Twitter

Recupérer vos informations de modèles reliés entre eux sur plusieurs niveaux en cakephp. Blog MTI » Archive du blog Création d’un Blog avec CakePHP. CakePHP est un Framework PHP permettant la création rapide d’application Web en PHP basé sur le motif de conception Model-Vue-Contrôleur.

Blog MTI » Archive du blog Création d’un Blog avec CakePHP

CakePHP en est à la version 1.3.0 sortie assez récemment. 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.

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

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. Les Comportements sont chargés avec les modèles dès qu’ils sont initialisés dans la propriété $actsAs. CakePHP hasAndBelongsToMany relationship queries demystified (HABTM, Contained, Pagination and more) Introduction CakePHP is a pretty powerful development php framework.

CakePHP hasAndBelongsToMany relationship queries demystified (HABTM, Contained, Pagination and more)

If you are like me, you understand that Ruby on Rails is way cooler these days, but do not feel ashamed to admit you’re coding in PHP because sometimes it just gets the job done faster. And without being less elegant if you’re using the right tools. I’ve used CakePHP for Google+ Counter‘s front end tier and used it for numerous other professional web projects and frequently share my findings via Twitter (@ralf). However, my relationship with the framework is a love-hate one. Working with HABTM Form Data in CakePHP. Comment sauvegarder des données HasAndBelongsToMany (HABTM) avec CakePHP. Le CookBook nous indique que pour associer des instances existantes de Foo avec de nouvelles instances de Bar, il faut utiliser un autre format, qui dépend en plus du fait qu'on veuille enregistrer une association avec un save() ou plusieurs associations avec un saveAll().

Comment sauvegarder des données HasAndBelongsToMany (HABTM) avec CakePHP

Avec un save(), le tableau de données aura deux clés (une pour chaque modèle de l'association, avec un saveAll(), votre tableau de données devra avoir une clé pour chaque association créée. Ce n'est toutefois pas la partie la plus compliquée. Rappel: saveAll() est seulement un wrapper autour des méthodes saveMany() et saveAssociated() Avec la même relation Foo hasAndBelongsToMany Bar, si l'on veut associer plusieurs nouvelles instances de Bar avec des nouvelles instances de Foo, il faudra formater les données de la manière suivante : Authentification Simple et Autorisation de l’Application — documentation CakePHP Cookbook 2.x. Suivez notre exemple Tutoriel d’un Blog, imaginons que nous souhaitions sécuriser l’accès de certaines URLs, basées sur la connexion de l’user.

Authentification Simple et Autorisation de l’Application — documentation CakePHP Cookbook 2.x

Nous avons aussi une autre condition requise, qui est d’autoriser notre blog à avoir des auteurs multiples, afin que chacun d’eux puisse créer ses propres posts, les modifier et les supprimer selon le besoin interdisant d’autres auteurs à apporter des modifications sur ses messages. Créer le code lié de tous les users Premièrement, créeons une nouvelle table dans notre base de données du blog pour contenir les données de notre user: CREATE TABLE users ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50), password VARCHAR(255), role VARCHAR(20), created DATETIME DEFAULT NULL, modified DATETIME DEFAULT NULL); La prochaine étape est de créer notre model User, qui a la responsablilité de trouver, sauvegarder et valider toute donnée d’user: CakePHP find conditions (plus find all, find list, and find count)

By Alvin Alexander.

CakePHP find conditions (plus find all, find list, and find count)

CakePhp: Using the Find Method. CakePHP [Archives] Blog MTI » Archive du blog Création d’un Blog avec CakePHP. Controller - CakePHP: Get category ID from Categories table and insert to a column in Items table. 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.

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

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. Forum : Adaptation des formulaires du Bootstrap Twitter vers Cakephp. Formation vidéo : Apprendre CakePHP. Structure de CakePHP — documentation CakePHP Cookbook 1.3. Les Composants (Components), Comportements (Behaviors) et Assistants (Helpers) sont des classes qui offrent une extensibilité et une réutilisation, permettant d’ajouter rapidement des fonctionnalités aux classes MVC de base de vos applications.

Structure de CakePHP — documentation CakePHP Cookbook 1.3

A ce stade de lecture, nous survolerons ces concepts, mais vous pourrez découvrir comment utiliser ces outils en détails plus tard. Extensions du Contrôleur (“Composants”) Un Composant (Component) est une classe qui s’intègre dans la logique du contrôleur. Si vos contrôleurs ou vos applications doivent partager une logique, alors créer un Composant est une bonne solution. A titre d’exemple, la classe intégrée EmailComponent rend triviale la création et l’envoi de courriels.

Les contrôleurs sont également équipés de fonctions de rappel (callbacks). Extensions de la Vue Un Helper ou assistant est une classe d’assistance pour les vues. La plupart des applications ont des portions de code pour les vues qui sont répétitives.