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.

Découvrir PHP CodeIgniter

Implémenter les méthodes CRUD avec Active record

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Découvrez comment implémenter une classe générique pour vos méthodes CRUD. Gardez la possibilité de surcharger ces dernières pour gérer un cas particulier.
05:53

Transcription

Alors ce qu'il faut savoir c'est que les méthodes pour mettre à jour, supprimer et lire en base de données sont très souvent les mêmes. Donc ce que nous on va aller faire, on va aller créer une classe dans core, une classe qui va être commune à tous les modèles, et qui va nous permettre d’effectuer des opérations, comme la création, la lecture, la mise à jour, et l'effacement. L'intérêt de cette classe va être de mettre en commun des méthodes souvent utilisées. Donc, ce qu'on va faire, c'est qu'on va étendre nos modèles avec cette nouvelle classe qu'on aura créée. Donc, on aura toujours la possibilité de surcharger notre classe commune, pour effectuer nos propres opérations à l'intérieur. Allons-y. On fait clique droit sur core, new ou nouveau, on va l'appeler MY_Model. En fait je vous explique pourquoi MY. Simplement parce que les classes de base dans codeigniter commencent par CI. Donc pour bien les différentier, nous on va les faire commencer par MY. On créé notre classe. MY_Model, et on va l'étendre avec la classe native de codeigniter. Donc, CI_Model. Donc là on récupère toutes les méthodes natives. Cette classe on va l'implémenter en classe abstraite. Donc elle ne pourra pas être instanciée seul, elle pourra uniquement être instanciée dans le modèle qui en découle. Donc là puisqu'on est dans le modèle article, on va directement changer la classe avec laquelle article est étendu, par MY_Model. Donc article est en My_Model, MY_Model est en codeigniter Model. Ce qu'on va aussi faire, c'est qu'on va implémenter une interface, l'interface qu'on va créer dans un instant. Donc une interface je le rappelle, sert à forcer la création de méthodes. Mais vous allez comprendre son intérêt dans un instant. On refait la même chose en créant une interface. Donc, MY_Model_Interface. Donc interface. On reprend le même nom. Voilà. Et on va déclarer deux méthodes à l'intérieur. Deux méthodes publiques bien sûr. Une première c'est get_database_table (). Et une deuxième ça va être, get_database_table_primarykey. En fait, comme My_Model implémente cette interface, tout ce qui va implémenter My_Model, va devoir obligatoirement avoir les classes get_database_table et get_database_table_pk qui sont implémentées. La raison est la suivante, c'est que quand article va instancier MY_Model, on a obligatoirement besoin du nom de la table de base de données où vous vous souvenez on a créé article, et le nom de la clé primaire. Donc il nous faut obligatoirement ces informations. C'est pour ça qu'on force leur déclaration. Donc vous avez vu à l'instant, quand on est allé dans le modèle article, on nous indique que get_db_table n'est pas implémenté. On va l'implémenter tout de suite. Voilà. Donc en fait, on retourne simplement le nom de la table article. On a toujours notre erreur qui nous indique que get_db_table_pk n'est pas implémenté. C'est ce qu'on va faire également tout de suite, en oubliant pas de modifier, article_id. Donc là, je vais juste vous remontrer sur phpMyAdmin article_id, c'est la clé primaire, et article c'est bien le nom de la table. Le dernier point et non des moindre, va être de créer les méthodes communes pour MY_Model. Donc, moi j'ai préparé à l'avance le code. Vous pouvez retrouver ce code dans les fichiers d'exercice avec l'abonnement adéquat. Sinon, vous pouvez simplement recopier ce que vous voyez à l'écran. Donc ici, j'ai commencé par copier les méthodes pour insérer et mettre à jour, la base de données. Donc cette première ligne, on fait appelle à l'objet référent instancié. On a db puis la méthode insert. Donc comme paramètre, on passe le nom de la table actuelle, que l'on récupère grâce à la classe enfant qui est le modèle article. Donc la méthode get_db_table nous retourne concrètement article. Et le deuxième paramètre c'est l'objet en cours. La deuxième ligne, on récupère l'identifiant de l'objet qui vient d'être inséré, et on renvoie la valeur de cet identifiant. Même principe pour la méthode update. On utilise globalement les mêmes choses, on renvoie l'identifiant. Ensuite on à la méthode save. Donc ce que vous aurez noté c'est que, ces deux méthodes sont en méthodes privées. Celle qui est accessible depuis l'extérieur c'est la méthode save. En fait la méthode save prend en compte, si la clé primaire a déjà été chargée. Si elle est déjà chargée on fait une mise à jour. Sinon, on fait une insertion. Ensuite on va voir la méthode delete. Même fonctionnement, même principe. Ici on efface, un enregistrement en base de données. Et la méthode get_data, pour aller récupérer tous les enregistrements de la base donnée. Là, il nous manque encore une chose, c'est à intégrer notre interface. Et voilà, nous sommes maintenant prêts à effectuer nos opérations en base de données.

Découvrir PHP CodeIgniter

Installez et configurez CodeIgniter. Abordez ensuite la création de modèles, intégrez des méthodes pour lire et écrire dans une base de données, utilisez des librairies, etc.

1h32 (26 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :28 sept. 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 !