Doctrine est une bibliothèque PHP avancée pour le travail sur les bases de données orientées objet. L'objectif principal de Doctrine est de décrire le schéma de la base de données à l'aide d'entités de données et de manipuler les données d'une manière entièrement orientée objet.
Ce paradigme est appelé ORM (Object-relational mapping), qui est design-pattern pour convertir (envelopper) les données stockées dans une base de données relationnelle en un objet qui peut être utilisé dans un langage orienté objet. Ainsi, pour comprendre et utiliser Doctrine, vous devez connaître au moins les bases de la programmation orientée objet.
Il y a de nombreuses raisons :
L'opinion de longue date de l'auteur de cet article (Jan Barasek) est que Doctrine est le meilleur moyen de travailler avec une base de données PHP. Il n'a tout simplement pas de concurrence.
Avant de commencer à utiliser pleinement Doctrine, vous devez préparer un environnement adéquat. Si vous débutez avec PHP ou si vous n'avez pas de connaissances approfondies, le meilleur choix est d'installer le Nette Framework avec le paquet d'extension Baraja Doctrine, qui intègre automatiquement un support complet. Téléchargez d'abord le paquet via Composer, puis configurez l'extension DI et Doctrine commencera à fonctionner automatiquement.
Pour que Doctrine fonctionne correctement, vous devez préparer une base de données vide (Doctrine peut également travailler avec un projet existant, mais cela n'est pas approprié pour les premières étapes car cela risque d'écraser les données existantes) et configurer la connexion. Comme Doctrine n'est pas seulement une bibliothèque de base de données, mais fournit un cadre de base de données avancé, vous devez [résoudre d'autres configurations] (/configure-connections-with-baraja-doctrine). La plupart des paramètres sont automatiquement écrasés dans ce paquet pour Nette, cependant dans la configuration minimale votre serveur doit supporter les extensions APCu Cache
ou SQLite3
.
Si tout a été configuré correctement, un nouveau service DI Baraja\Doctrine\EntityManager
sera créé dans Nette, que vous pouvez injecter dans Presenter :
namespace App\FrontModule\Presenters;use Baraja\Doctrine\EntityManager;final class HomepagePresenter extends BasePresenter{#[Inject]public EntityManager $entityManager;}
Si vous parvenez à injecter le service EntityManager de base, vous pouvez commencer à apprendre et à travailler avec Doctrine.
Les chapitres suivants sont une combinaison d'un guide de référence sur la technologie Doctrine, d'années d'expérience, de modèles de conception et de solutions toutes faites. Ensemble, nous passerons en revue tous les éléments de base de Doctrine, de la définition de votre propre entité à la génération d'un schéma de base de données physique, en passant par le travail avec un outil de versionnement et le déploiement en production.
J'utilise Doctrine depuis très longtemps et j'y ai résolu des milliers de cas. Nous montrerons des trucs et astuces sur la manière d'utiliser Doctrine pour optimiser la vitesse de la base de données et sur la manière de concevoir une base de données de manière appropriée. Vous pouvez également utiliser Doctrine pour un projet existant (si vous remplissez certaines conditions) et nous allons vous montrer comment faire.
Cette série d'articles a été créée pour aider mes étudiants en formation et en conseil. Si vous avez besoin de discuter ou d'expliquer certains sujets plus en détail, vous pouvez m'envoyer un courriel à jan@barasek.com. Comme il s'agit d'une technologie relativement exigeante, toutes les questions seront traitées comme une consultation payante.
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | fr