Почему именно RedBeanPHP?
18 Мая 2020 в 16:58

Так как сайт на котором вы находитесь собран на ORM RedBeanPHP, поэтому я решил посвятить данный раздел именно ей. 

ORM расшифровываеться как Object-relational mapping в переводе (Объектно-реляционное отображение), это технология программирования, которая позволяет преобразовывать несовместимые типы моделей в ООП, в частности, между хранилищем данных и объектами программирования. ORM используется для упрощения процесса сохранения объектов в реляционную базу данных и их извлечения, при этом ORM сама заботится о преобразовании данных между двумя несовместимыми состояниями. 

Работать с данной ORM одно удовольствие, скоро вы сами это поймете.

Подключение RedBeanPHP

Скачать библиотеку RedBeanPHP можете на официальном сайте.

Подключаем ORM через функцию require:

require 'config/rb.php';

 Далее у нас идет подключение к базе данных

R::setup( 'mysql:host=localhost;dbname=имя базы','имя пользователя', 'пароль' );
if ( !R::testConnection() )
{
   exit ('Нет соединения с базой данных');
}

Закрыть соединение можно функцией

 R::close();

 

Запрос к базе данных выполняется методом exec, например:

$id = $_POST['id'];
R::exec('DELETE FROM `users` WHERE `id` = ?', array($id));

 RedBeanPHP умеет создавать таблицы налету. Достаточно вызвать dispense и указать какие поля будут у таблицы.

$data  = $_POST ;
$user = R::dispense('users');
$user->login = $data['login'];
$user->email = $data['email'];
$user->pass = $data['pass'];
$user->time = time();
R::store($user); // создаем объект $user в таблице

В предыдущем примере мы создали новый объект, теперь его изменим.

Допустим мы создали пользователя, под id 1:

 $data = $_POST;
$id_user = '1';
$user = R::load('users, $id_user');
$user->login = $data['login'];
$user->email = $data['email'];
R::store($user);

То есть мы изменили у объекта id-1 его логин и Email. 

Удаление записей делаеться методом trash:

$user = R::load('users', 1);
R::trash($user);

Мы удалили пользователя под id 1.

Полная очистка таблицы:

 R::wipe('users');

 

Режим заморозки

Режим заморозки в RedBeanPHP нужен для того, чтобы включить или выключить поведение автоматического создания и изменения таблиц в БД. Сервер сильно нагружается, поэтому, когда Вы разрабатываете сайт, то режим заморозки можно выключить (false). Тогда автоматическое создание таблиц будет работать. Когда Вы зальете готовый сайт на хостинг, то нужно поставить режим заморозки в значение true.

R::setup(); //подключение к БД
R::freeze( true ); //выключение режима заморозки

 

С подключением и основными функциями мы разобрались, в следующей статье напишу о дополнительных возможностях RedBeanPHP, которые намного упростять разработку вашего сайта.

5

Коментарии пользователей