Библиотека ORM – RedBeanPHP. Введение 2018 В данном цикле уроков мы с вами познакомимся с одной из полезных и удобных библиотек ORM – RedBeanPHP. ORM – это аббревиатура, которая расшифровывается как «Object-relational mapping», или в переводе - «Объектно-реляционное отображение». В Википедии можно найти примерно такое определение данного термина: ORM – это «технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования». Говоря другими словами, попроще, ORM — это прослойка между базой данных и кодом, который пишет программист, которая позволяет созданные в программе объекты складывать/получать в/из бд. Используя ORM, нам куда проще и, главное, безопаснее будет «общаться» с используемой СУБД. В предлагаемых уроках вы изучите работу с ORM RedBeanPHP, научитесь получать, сохранять и изменять данные в БД, узнаете о работе со связями и т.д. Урок 1. Библиотека ORM RedBeanPHP. Установка ORM RedBeanPHP: От автора: в первом уроке предлагаемого курса мы познакомимся с библиотекой ORM RedBeanPHP, узнаем о понятии ORM, а также о других вариантах подобных библиотек для PHP. Также мы рассмотрим два варианта установки RedBeanPHP – скачивание и установка вручную, а также установка и подключение в качестве пакета Composer. Урок 2. Библиотека ORM RedBeanPHP. Подключение ORM RedBeanPHP: От автора: в данном уроке мы рассмотрим варианты подключения ORM RedBeanPHP на примере подключения к СУБД MySQL и SQLite. Также будет рассмотрен метод, позволяющий протестировать соединение с выбранной СУБД и остановить выполнение программы, если подключение не установлено. Урок 3. Библиотека ORM RedBeanPHP. Операция Create в RedBeanPHP: От автора: в данном уроке мы начнем рассматривать первую из четырех операций CRUD при работе с базами данных – это будет операция Create (создание). Используя эту операцию, мы можем сохранять данные в БД. RedBeanPHP здесь предлагает просто чудесные возможности, позволяя не только сохранить данные в уже существующую базу данных, но и при необходимости создать БД на лету или же изменить структуру уже существующей БД. Урок 4. Библиотека ORM RedBeanPHP. Конвенции RedBeanPHP: От автора: данный урок мы посвятим теме конвенций в ORM RedBeanPHP. Конвенции – это соглашения об именованиях. Здесь речь идет об именованиях таблиц базы данных и полей в этих таблицах. RedBeanPHP имеет ряд ограничений в их именованиях, которым мы должны следовать. Некоторые из этих ограничений при желании можно обойти, и об этом вы также узнаете из данного урока. Урок 5. Библиотека ORM RedBeanPHP. CRUD. Получение и обновление записей: От автора: в этом уроке мы продолжим знакомиться с базовыми операциями CRUD относительно ORM RedBeanPHP. Из предыдущих уроков мы узнали, как сохранять данные в базу данных, а в этом уроке мы узнаем, как получать из БД данные и обновлять их. Здесь мы будем работать с методами load и loadAll, которые позволяют получить одну или сразу несколько записей из БД. Урок 6. Библиотека ORM RedBeanPHP. CRUD. Удаление данных: От автора: в этом уроке мы познакомимся с последней операцией CRUD – операция Delete, с помощью которой мы сможем удалять данные их базы данных. В уроке мы рассмотрим целый ряд методов, которые позволят удалить одну запись, несколько записей, удалить все записи из таблицы или даже удалить все содержимое БД. Урок 7. Библиотека ORM RedBeanPHP. Методы find RedBeanPHP. Часть 1: От автора: в этом уроке мы начнем изучение методов find (find, findOne, findAll), предназначенных для выборки данных. В предыдущих уроках мы уже знакомились с методами получения данных в рамках операций CRUD. Однако, изученные методы позволяют выбирать записи только по их идентификаторам (ID). Это далеко не всегда удобно. Методы find позволяют выбирать данные по любым другим полям и условиям, получая все те же объекты (beans). Урок 8. Библиотека ORM RedBeanPHP. Методы find RedBeanPHP. Часть 2: От автора: в этом уроке мы продолжим изучение методов find (find, findOne, findAll), предназначенных для выборки данных. В предыдущих уроках мы уже знакомились с методами получения данных в рамках операций CRUD. Однако, изученные методы позволяют выбирать записи только по их идентификаторам (ID). Это далеко не всегда удобно. Методы find позволяют выбирать данные по любым другим полям и условиям, получая все те же объекты (beans). Урок 9. Библиотека ORM RedBeanPHP. Методы Quering RedBeanPHP: От автора: до этого мы с вами знакомились с методами, используя которые фактически были избавлены от необходимости писать sql-запросы. Все, что нам нужно было передать в метод – это название таблицы для выборки. Иногда еще добавить параметры для условия выборки. Однако, эти варианты подойдут для относительно простых запросов и выборок. На практике задачи же бывают куда сложнее, поэтому так или иначе без написания sql-запросов нам не обойтись. В этом уроке мы познакомимся с методами ORM RedBeanPHP, позволяющими выполнять произвольные sql-запросы. Урок 10. Библиотека ORM RedBeanPHP. Методы Data Tools RedBeanPHP: От автора: в RedBeanPHP версии 5 появились некоторые дополнительные возможности для работы с данными, которые могут быть весьма полезными. Например, вы хотите выбрать некоторые данные и сразу же импортировать их в файл csv. В принципе, не сложно самому написать функцию, которая создаст нужный текстовый файл и заполните его данными. Но, согласитесь, куда проще воспользоваться уже готовой функциональностью, предлагаемой в RedBeanPHP. В этом уроке мы познакомимся с инструментами Data Tools RedBeanPHP. Урок 11. Библиотека ORM RedBeanPHP. Транзакции в RedBeanPHP: От автора: в RedBeanPHP в своих проектах нам зачастую необходимо в рамках одной операции выполнить сразу несколько запросов, работающих с несколькими таблицами. При этом нужно следить за целостностью данных, поскольку если связанные данные успешно вставлены в одну таблицу, но при этом возникла ошибка при вставке в другую таблицу – целостность данных будет нарушена. Чтобы этого избежать – существует механизм транзакций. В уроке мы познакомимся с механизмом транзакций в ORM RedBeanPHP. Урок 12. Библиотека ORM RedBeanPHP. Отладка в RedBeanPHP: От автора: создавая достаточно большие приложения, нам хочется по максимуму контролировать его работу. Нам хочется сделать приложение как можно более оптимизированным и не допускать выполнения лишних sql-запросов. Работая с ORM, которая формирует сама sql-запросы, мы хотим увидеть – какой запрос сформировал тот или иной метод. Все это позволяют контролировать методы отладки ORM RedBeanPHP. В данном уроке мы познакомимся с методами debug ORM RedBeanPHP, которые собирают все запросы и в любой момент мы можем их посмотреть. Урок 13. Библиотека ORM RedBeanPHP. Связь один-ко-многим в RedBeanPHP. Часть 1: От автора: в данном уроке мы приступим к изучению такой интересной темы, как реализация связей или отношений в RedBeanPHP. В рамках изучения ORM мы рассмотрим такие часто встречющиеся в практике виды связей, как: один-ко-многим (one-to-many), многие-к-одному (many-to-one) и многие-ко-многим (many-to-many). В этом уроке мы начнем работать с типом отношений один-ко-многим (one-to-many). Урок 14. Библиотека ORM RedBeanPHP. Связь один-ко-многим в RedBeanPHP. Часть 2: От автора: в данном уроке мы продолжим изучение темы реализации связей или отношений в RedBeanPHP. В этом уроке мы завершим знакомство с типом отношений один-ко-многим (one-to-many). Благодаря этому типу отношений мы сможем реализовать связь двух таблиц, благодаря которой поле одной таблицы будет ссылаться на поле другой таблицы. В уроке мы не только научимся создавать такие связи, но и узнаем, как их разрывать и удалять. Урок 15. Библиотека ORM RedBeanPHP. Связь многие-к-одному в RedBeanPHP: От автора: в данном уроке мы продолжим изучение темы реализации связей или отношений в RedBeanPHP. В этом уроке мы познакомимся с типом связи многие-к-одному (many-to-one). Фактически, это тот же тип связи, что и рассмотренный в предыдущих двух уроках один-ко-многим (one-to-many), но тип связи под другим углом. Урок 16. Библиотека ORM RedBeanPHP. Связь многие-ко-многим в RedBeanPHP: От автора: в данном уроке мы завершим изучение темы реализации связей или отношений в RedBeanPHP. В этом уроке мы познакомимся с типом связи многие-ко-многим (many-to-many). Данный тип связи используется практически во всех крупных проектах и позволяет связать две таблицы друг с другом путем создания еще одной, так называемой промежуточной или связующей таблицы.