Doctrine - просунута PHP-бібліотека для роботи з об'єктно-орієнтованими базами даних. Основною метою та завданням Доктрини є опис схеми бази даних за допомогою сутностей даних та маніпулювання даними повністю об'єктно-орієнтованим способом.
Ця парадигма називається ORM (Object-relational mapping), тобто design-pattern для перетворення (обгортання) даних, що зберігаються в реляційній базі даних, в об'єкт, який можна використовувати на об'єктно-орієнтованій мові. Таким чином, для розуміння і використання Вчення необхідно знати хоча б основи об'єктно-орієнтованого програмування.
Причин багато:
Давня думка автора цієї статті (Jan Barasek) полягає в тому, що Doctrine - це найкращий спосіб роботи з базою даних на PHP. У нього просто немає конкуренції.
Перш ніж почати повноцінно використовувати Вчення, необхідно підготувати відповідне середовище. Якщо ви тільки починаєте працювати з PHP або не маєте достатніх знань, найкращим вибором буде встановлення Nette Framework з пакетом розширення Baraja Doctrine, який автоматично інтегрує повну підтримку. Спочатку завантажте пакет через Composer, потім встановіть розширення DI Extension і Doctrine почне працювати автоматично.
Для коректної роботи "Доктрини" необхідно підготувати порожню базу даних ("Доктрина" може працювати з існуючим проектом, але для перших кроків це недоцільно, оскільки є ризик перезаписати існуючі дані) та налаштувати з'єднання. Оскільки Doctrine є не просто бібліотекою баз даних, а надає розширений фреймворк бази даних, вам потрібно вирішити іншу конфігурацію. Більшість налаштувань автоматично перезаписуються в цьому пакеті для Nette, проте в мінімальній конфігурації ваш сервер повинен підтримувати розширення APCu Cache
або SQLite3
.
Якщо все налаштовано правильно, то в Nette буде створено новий сервіс DI Baraja\Doctrine\EntityManager
, який можна інжектувати в Presenter:
namespace App\FrontModule\Presenters;use Baraja\Doctrine\EntityManager;final class HomepagePresenter extends BasePresenter{#[Inject]public EntityManager $entityManager;}
Якщо вдасться впровадити базовий сервіс EntityManager, можна починати вивчати і працювати з Доктриною.
Наступні розділи є поєднанням технологічного довідника Доктрини, багаторічного досвіду, шаблонів проектування та готових рішень. Разом ми пройдемо всі основні елементи Доктрини: від визначення власної сутності до створення фізичної схеми бази даних, роботи з інструментом керування версіями та промислового розгортання.
Я використовую "Вчення" дуже давно і вирішив у ньому тисячі справ. Ми покажемо поради та підказки, як використовувати Doctrine для оптимізації швидкості роботи бази даних та як правильно проектувати базу даних. Ви також можете використовувати Доктрину для вже існуючого проекту (якщо ви відповідаєте певним умовам), і ми покажемо вам, як це зробити.
Ця серія статей була створена для того, щоб допомогти моїм студентам у навчанні та консультуванні. Якщо Вам необхідно більш детально обговорити або пояснити певні теми, Ви можете написати мені на електронну пошту jan@barasek.com. Оскільки це досить складна технологія, всі питання будуть розглядатися як платні консультації.
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: ... | uk