CodeIgniter 4: Как загрузить базу данных в пользовательскую библиотеку CodeIgniter 4
![](/uploads/posts/2022-01/codeigniter-4.webp)
CodeIgniter 4 содержит несколько библиотек по умолчанию, когда мы работаем с приложением CodeIgniter 4. Но в некоторых случаях нам нужно какое-то пользовательское поведение библиотек, поэтому в этом случае будет создана и использована пользовательская библиотека. Статья содержит очень секретную информацию.
Если нам нужно подключение к базе данных внутри пользовательской библиотеки CodeIgniter 4, то эта статья даст вам полное представление о загрузке базы данных и о том, как ее использовать. Мы увидим полное представление о том, как загрузить базу данных в пользовательской библиотеке CodeIgniter 4.
В этой статье для демонстрации использовался CodeIgniter v4.1.5.
Давайте начнем.
Создадим базу данных
Чтобы создать базу данных, мы можем создать ее с помощью ручного инструмента PhpMyadmin или с помощью команды mysql.
CREATE DATABASE codeigniter4_app;
Успешно, мы создали базу данных.
Настройка .env файла
Когда мы установили CodeIgniter 4, у нас в корне проекта будет файл env. Нам нужно переименовать env в .env
Также мы можем сделать это командой терминала.
Откройте проект в терминале и введите следующую команду:
$ cp env .env
Команда выше создаст копию файла env в файл .env.
Теперь мы готовы использовать переменные среды.
Включить режим разработки
CodeIgniter по умолчанию запускается в рабочем режиме (production). Вам нужно установить режим разработки (development), чтобы мы могли увидеть любую ошибку, когда вы работаете с приложением.
Откройте файл .env в редакторе кода (например: VS Code).
# CI_ENVIRONMENT = production
// Установить параметр:
CI_ENVIRONMENT = development
Теперь приложение находится в режиме разработки.
Подключение к базе данных
Откройте файл .env из корня проекта.
Найдите раздел DATABASE. Вы должны увидеть переменные среды подключения. Установите обновленные данные строки подключения к базе данных.
#--------------------------------------------------------------------
# DATABASE
#--------------------------------------------------------------------
database.default.hostname = localhost
database.default.database = codeigniter4_app
database.default.username = root
database.default.password = root
database.default.DBDriver = MySQLi
database.default.DBPrefix =
Теперь база данных успешно подключена к приложению.
Пользовательская библиотека в CodeIgniter 4
Когда мы создадим пользовательскую библиотеку в CodeIgniter 4, она будет сохранена в каталоге /app/Libraries.
Давайте создадим библиотеку, которая просто извлекает данные из таблицы Employee.
Создайте класс Employee.php в папке /app/Libraries. Это будет пользовательская библиотека. Внутри этой библиотеки мы будем загружать базу данных и извлекать данные о сотрудниках из таблицы базы данных.
Откройте файл Employee.php и запишите в него этот код.
<?php
namespace App\Libraries;
class Employee
{
// Эта функция извлекает данные из таблицы БД
public function getData()
{
$db = db_connect(); // Загрузка базы данных, загружает базу данных по умолчанию
$tbl = $db->table("employees");
$all_emps = $tbl->get()->getResult();
return $all_emps;
}
}
Загрузить базу данных в библиотеку
Для загрузки базы данных мы используем этот метод.
$db = db_connect();
Он загружает базу данных приложения по умолчанию.
Если ваше приложение имеет более 1 базы данных. Чтобы загрузить другую базу данных, вам нужно сделать —
$db = db_connect("otherDb");
Используя переменную $db, вы можете выполнять запросы из базы данных.
Загрузка библиотеки в контроллер
Допустим, у нас есть файл контроллера Site.php внутри приложения.
<?php
namespace App\Controllers;
use App\Libraries\Employee; // загрузка библиотеки
class Site extends BaseController
{
public function getEmployeesData()
{
$emp = new Employee(); // создаем экземпляр библиотеки
print_r($emp->getData()); // вызываем метод
}
}
Когда мы вызываем getEmployeesData(), она возвращает данные обо всех сотрудниках.
Мы надеемся, что эта статья помогла вам очень подробно изучить, как загрузить базу данных в CodeIgniter 4 Custom Library.
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.