Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

L'essentiel de CakePHP

Découvrir les requêtes de base

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
L'utilisation d'un modèle permet de sauvegarder des données grâce à des outils tels qu'un ORM. La notion de table de base de données n'est alors plus d'actualité.
08:17

Transcription

Dans le chapitre précédent, nous avons vu comment utiliser les routes. Maintenant, nous allons voir comment effectuer des requêtes, comment nous allons sauvegarder les données. Nous allons aussi apprendre à sélectionner les données, etc. Donc tout ça avec l'aide de l'ORM, donc, qui est disponible dans Cake. Donc l'ORM de Cake, c'est la partie modèle, qui permet l'accès aux données, la lecture, la sauvegarde des données dans la base. Pour rappel, CakePHP fonctionne avec plusieurs types de bases de données : MySQL version 5.1+, SQL Light 3, PostgreSQL version 8+, et SQL serveur 2008+. Et il y a aussi 2 types d'objet disponibles dans l'ORM de Cake. Il y a les objets qui sont issus d'une classe Table, qui fournit un accès à la collection des entités stockées dans une table spécifique. Donc chaque table dans votre base de données doit avoir une classe table qui lui est associée afin que Cake puisse communiquer avec cette table. Si vous n'avez pas besoin de personnaliser les tables de données de Cake... va générer automatiquement une instance table pour vous directement. Il y a aussi les objets qui sont issus de la classe entity, qui eux représentent les lignes de vos tables dans la base de données. Pour la suite, il est impératif que votre base de données soit branchée à votre application CakePHP. Si ce n'est pas le cas je vous renvoie au chaptitre qui parle de l'installation de CakePHP. Maintenant passons aux choses sérieuses. Les tables de votre application se trouvent dans SRC Model Table. Model, table. Donc là nous allons créer un fichier qui s'appelle article table, PHP, voilà. Il faut bien savoir que les tables, c'est ce qui référence une table de votre base de données. Donc ici vous pouvez voir que Lap, Model, Table, donc là, c'est parce que je suis dans SRC Model Table. Ensuite j'utilise une classe de l'ORM de Cake qui s'appelle table, et le nom de ma classe c'est article table. Pour rappel, les tables sont donc des collections d'objets spécifiques. Notez que nous ne disons pas à l'ORM quelle table nous devons utiliser pour notre classe parce que par convention, les objets table vont utiliser une classe avec la notation en minuscule et avec des underscore pour le nom des classes. Dans l'exemple, la table articles, avec un s, va être utilisée. Si notre classe table était nommée différemment, il est possible de spécifier la table en utilisant la méthode table. Et tout ça dans une fonction qui s'appelle initialize. Donc ici, si par exemple, votre table ne s'appelle pas articles, vous pouvez ici renommer, en fait, la table source D2. Donc par convention l'ORM s'attend aussi à ce que chaque table ait une clé primaire, donc avec son nom c'est ID. Donc si vous avez besoin de modifier la clé primaire, c'est tout simple, il suffit d'appeler cette fonction : donc, $this-primaryKey, et ici le nom de votre clé. Ici j'ai une table qui s'appelle article table, et par défaut il va automatiquement, en fait, charger une entité qui s'appellera article sans s. Donc si vous voulez utiliser une entité différente, vous pouvez. En fait c'est avec $this entity class ici, vous pouvez préciser en fait, le nl space vers votre nouvelle entité. Comme vu dans les exemples, les objets table ont une méthode initialize qui est appelée à la fin du constructeur. Donc il est recommandé d'utiliser cette méthode pour placer la logique d'initialisation plutôt que de surcharger le contrôleur. Donc maintenant on va ajouter les routes, donc pour notre article dans : config, routes.PHP. Donc là tout en bas, j'ajoute ça. Donc c'est le scope pour les articles. Donc c'est les différentes actions que je vais pouvoir faire. Je vais créer du coup, un fichier article controller car j'ai supprimé en fait les anciennes données qu'on avait pu faire dans les chapitres précédents. Donc ici, c'est toujours pareil, donc c'est un map-controller. Ici il y a CakePHP qui me dit que new c'est déjà utilisé par... PHP. Du coup je vais l'appeler add. Et ce qui est recommandé en plus par CakePHP. Et ici dans ma route, il faut aussi que je précise que ici c'est add, l'action. Voilà. Donc maintenant, nous n'allons pas tester chacune des routes. Ce n'est pas utile. Mais nous allons du coup, directement en fait, utiliser les méthodes de sélection. Ici je fais appel à un table registry. Donc d'ailleurs le use ne s'est pas fait automatiquement. Donc ici je récupère du coup mon objet article table qui est ici. Et ensuite, là je fais un get. Donc ici je vais appeler du coup mon objet table. Donc ici nous voyez qu'il n'y a rien, puisque par défaut l'objet table ne récupère pas de collection d'objets. Puisque en plus je n'ai même pas encore de table associée. Donc ensuite je vais supprimer le double dump. Donc ensuite, je vais du coup aller dans mon PHP My admin, donc que j'ai ici. Et je vais du coup lui ajouter une requête. Donc ici je vais lui ajouter une table. Du coup ici je crée une table qui s'appelle article puisque j'ai une classe qui s'appelle article table. Ici je lui donne un ID qui est un auto increment, un title, un slug, ça nous verrons après à quoi ça correspond, un contenu, et puis 2 champs qui sont automatiquement remplis par CakePHP, qui sont created, et updated. Donc voilà, maintenant c'est fait. Maintenant si je fais un select, donc si maintenant je veux en fait aller chercher l'ensemble des informations que j'ai dans article, et si j'ajoute, donc si j'insère une requête. Donc là je vais ici : insérer. Je vais mettre : test. Voilà, une valeur, et une valeur, voilà, j'exécute. Ici maintenant il me dit que je n'ai pas ajouté le use. Donc c'est connection manager, voilà, hop. Comme ça, là, ça me permet directement d'avoir importé le use ici. je rafraîchis, et ici, il me trouve bien un élément. Donc ensuite nous allons essayer de faire un ajout dans la base de données directement. Donc là, je vais dans ma fonction qui s'appelle add. Ici j'enlève le double die. J'utilise toujours le connection manager, donc qui me permet en fait de récupérer la connexion par défaut qui se trouve dans app.php, et dedans je décide du coup de faire un insert en base de donnée, donc sur la table article, ici il s'agit du coup des valeurs que je souhaite insérer, et ici il s'agit de certains types que je dois préciser. Donc created et updated, c'est deux date time. Donc là, si maintenant je vais sur new, ici, il m'a bien ajouté mon article. Ensuite si je veux éditer, donc là c'est pareil, Donc je vais dans edit, j'enlève le double die, et ici je fais un edit, et je set mon nouveau titre à la place, du coup, du titre qu'il y aura pour l'ID 2. Exactement. Du coup ici le premier paramètre c'est le nom de la table, le deuxième c'est les paramètres, et le troisième c'est sur quel champ je recherche. Je fais l'update. Sur quel champ en base. Du coup ici, je n'ai pas d'article, c'est normal parce j'étais sur new, il faut que j'aille sur edit /1 par exemple. Donc là mon premier, ici, on a bien mon nouveau titre. Donc ensuite pour la suppression, c'est très simple. Il suffit en fait de faire appel à une fonction qui s'appelle delete. Donc là le connection manager me permet directement de taper sur la base de données en direct. Donc ici, là je vais supprimer l'ID 1. Ici je fais /del, ici je n'ai plus d'ID 1. Donc voilà nous venons de voir comment faire les requêtes de base.

L'essentiel de CakePHP

Développez des applications web évolutives avec CakePHP, du simple blog au site e-commerce à fort trafic. Installez et configurez le framework, maîtrisez le routing, etc.

3h39 (45 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
CakePHP CakePHP 3
Spécial abonnés
Date de parution :22 nov. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !