RedBeanPHP — проста і потужна ORM


Мабуть всі ми замислювались над тим, що моделювання даних повинне бути легким, гнучким та приносити задоволення. Легким, бо код який ніхто не розуміє, буде важко підтримувати. Гнучким, бо ми люди і змінюємо свою думку ледь не щодня. Чому ж має приносити задоволення? Ну бо яке життя без задоволення? :)

Ви ніколи не замислювались над тим, чому ми повинні використовувати стандартні інструменти? Можливо існують кращі рішення?

Недавно я випадково натрапив на одне з таких рішень — безкоштовну open-source бібліотечку RedBeanPHP. Спочатку думав, що це чергова ORM, яких існує ніби достатньо, але... Уявіть собі роботу з ORM без нескінченних рядків конфігурації, без громіздких схем в XML чи YAML, без дампів структури бази даних, без генерації коду моделей з MVC. Вже й не кажучи про такі речі минулого століття, як написання прямих SQL-запитів, ручну фільтрацію та валідацію даних і цілу купу підводних каменів... Подобається таке?

Замість постійного переходу туди-сюди між PhpMyAdmin та вашим кодом, можна просто працювати з даними як з об'єктами, та забути про базу даних. RedBeanPHP на льоту створюватиме таблички, поля, індекси, зовнішні ключі. Замість визначення відношеннь між таблицями в БД, можна просто визначити будь який тип зв'язку між об'єктами, а решту роботи візьме на себе RedBeanPHP.

До того ж, якщо в процесі роботи потрібно буде змінити тип даних в якомусь із полів, додати якісь поля чи змінити зв'язки між об'єктами, то і це все зробиться автоматично. Замість ускладення собі життя, як це часто буває з багатьма іншими ORM, в даному випадку все тільки спрощується. Потрібно лише привикнути і спробувати змінити звичний процес розробки.

Наскільки мені відомого, це єдина ORM система такого типу — система, яка дозволяє визначати моделі в процесі розробки і саме тоді, коли це зручно (а не авансом). Адже ніколи не можна передбачити все наперед, тому зазвичай надто часто доводиться робити зміни в структурі збереження, моделі представлення чи схемі обробки даних.

Вище я намагався загалом описати переваги RedBeanPHP і, сподіваюся, мені вийшо вас зацікавити. Якщо так, то далі пропоную розглянути встановлення та налаштування цієї ORM, яке обіцяє бути дуже простим.

Отож... Щодо системних вимог, то потрібно PHP версії 5.3 (хоча і на 5.2 повинно працювати) та PDO драйвер до потрібної системи керування базами даних (як правило по замовчуванню встановлюється в більшості PHP інсталяцій). Потім треба завантажити архів «все в одному» з офіційного веб-сайту. Розпакуйте архів і ви отримаєте один єдиний файл rb.php, який містить в собі все, що необхідно. Тепер достатньо підключити його до свого проекту:
require('rb.php');
Тепер RedBeanPHP встановлений та готовий до налаштування. На прикладі MySQL це виглядатиме так:
require('rb.php');
R::setup('mysql:host=localhost;dbname=testdb', 'user', 'pass');
Як бачите все дуже просто! В наступній статті «CRUD операції з допомогою RedbeanPHP» ми розглянемо основи роботи з цією ORM.

Коментарі

Популярні дописи з цього блогу

Колір в CSS

Комунікація між вкладками браузера

Порівняння швидкодії PHP-фреймворків