Пишем первую модель (Model) в Code Igniter

Уже не первую статью разбираю фреймворк веб разработки на php — Code Igniter.
На этот рас речь пойдёт о моделях данных.
Модель — это своебразная прослойка между базой данных и вашим приложением. Это класс который умеет хранить и модифицировать данные.
Создадим такой.
Первым делом напомню что вам нужно настроить связь с базой данных. Это делается в файле application/config/database.php.
Вам следует указать данные в строках:

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = '';  // имя пользователя бд
$db['default']['password'] = '';  // пароль
$db['default']['database'] = '';  // имя базы

Также следует обратить внимание на строки:

$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';

Измените если у вас другая кодировка таблиц.
Ну и конечно:

$db['default']['dbdriver'] = 'mysql';

Если у вас другая база измените и эту строку.
Когда всё готово следует создать модель.
Идём в папку application/models и создаём файл test.php (имя модели строчными буквами). Открываем и копируем туда:

<?php
class Test extends CI_Model {
    var $str = "";  // поля модели
    function __construct()  // конструктор
    {
        parent::__construct();
    }
    function _insert() {  // функция вставки данных
        $this->str = "41sadnkфывоо2";
        $this->db->insert('table',$this);  // вставляем в таблицу table
    }
}
?>

Что мы сделали?
Мы обявили класс наследник стандартного. Внутри него поле с информацией (str). Таких полей может быть хоть миллион! Но они должны соответствовать структуре таблици!
У нас таблица детская. Она имеет два поля: id и str.
Добавление нового поля происходит при выполнении функции _insert()
Причём сначала заполняется поле класса ( $this->str ). А потом происходит вставка.
Итак модель создана. Теперь идём в обработчик (контроллер) и вызываем эту функцию.
Как создать контроллер?
Перед вызовом загрузите модель:

$this->load->model('Test', 'foo', TRUE);

Первый параметр — имя модели. Второй — имя которое потом можно использовать в коде (см. ниже). Третий — сообщает фреймворку что следует подключиться к базе данных. Когда всё готово вызываем _insert() :

$this->foo->_insert();

Должно получиться 😉 Если что милости просим в коменты разбираться.

 

Похожий код:

Фото аватара
Алексей Петров

Программист, разработчик с 5 летним опытом работы. Учусь на разработчика игр на Unity и разработчика VR&AR реальности (виртуальной реальности). Основные языки программирования: C#, C++.

Оцените автора
Бла, бла код
Добавить комментарий