Программирование, веб-кодинг

Работа с базами данных в Yii2

Основные моменты:

1. Помимо создания самой базы данных, нужно настроить подключение к ней в конфигурационном файле config/db.php

<?php
return [
    'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=localhost;dbname=yii2basic',
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8',
];

2. Создать класс модели. Это должен быть класс-потомок от Active Record, то есть он будет наследоваться от ActiveRecord.

<?php

namespace app\models;

use yii\db\ActiveRecord;

class Country extends ActiveRecord
{
}

Имя этого класса может совпадать (если все символы считать в нижнем регистре) с названием таблицы, чтобы Yii мог связать их. Либо же можно переопределить метод tableName() в этом классе, где явно задать название таблицы.

public static function tableName()
    {
        return 'event';
    }

AR (Active Record) - мощный способ работы с базой данных в ООП стиле.

DAO (Data Access Objects) - более низкоуровневый способ доступа к БД. В этом способе в основном нужно будет использовать чистый SQL, и ещё подстраиваться по синтаксису к разным типам баз данных, в отличие от Active Record, в котором в Yii уже встроено взаимодействие для разных типов БД

Для удобства работы в Yii существует генератор кода Gii - специальный модуль в помощь разработчикам. С его помощью можно создать структуру CRUD автоматически - https://github.com/yiisoft/yii2/blob/master/docs/g...

По мотивам – https://github.com/yiisoft/yii2/blob/master/docs/guide-ru/start-databases.md