Создание модели подключения к базе данных

Как уже и писал раннее для вывода базы данных у нас есть три папки
/application/controllers/
/application/models/
/application/views/


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

В папке controller мы так же создаем класс, который формирует вывод контента основанного/взятого из класса в models. Своего рода controllers формирует некий html код с контентом (думаю так будет более понятно).

В папке views хранятся шаблоны, которые мы будет указывать в нашем controllers для последующего вывода контента на саму страницу.

Приступим…

Начнем пожалуй с модели.
Создаем файл Model_Post.php
<?php
class Model_Post extends CI_Model {
    // Сколько записей будем выводить на странице
    static private $num = 15;

    // Подключение к базе данных
    public function __construct()
    {
        $this->load->database();
    }
    
    /***
    * Функция выборки новостей из базы данных
    * $cell = будем передавать id поста
    */
    public function get_post($cell = FALSE)
    {
        // Если айди записи мы не передали, значит выводим весь контент
        if ($cell === FALSE)
        {
            // Указали название таблицы post и количество записей self::$num
            $query = $this->db->get('post',self::$num);
            // Создали массив с записями
            return $query->result_array();
        }
        
        // Если айди передали
        $query = $this->db->get_where('post', array('id' => $cell));
        return $query->row_array();
    }

}


Обратите внимание на сколько все просто.
$cell — если данная переменная НЕ содержит айди мы выполняем первое подключение в нашей функции, в противном случае второе.
Второе подключение будет срабатывать по ссылке вида /post/1/
Но для этого нам нужно будет обратиться к /config/routes.php об этом я опишу чуть позже.
Немного о главном. Не нужно в одной модели устраивать «огород» функций, каждая модель должна отвечать за определенный вывод контента (таблицы). То есть если мы выводим новости, то мы пишем запросы к таблице post именно в данном классе, если в дальнейшем вам нужно будет выбирать данные пользователей из таблице (users), то пишем новый класс Model_Users в новом файле Model_Users.php
Все это позволит приложению работать не только правильно и понятно для последующей правки, но и сократит время его обработки. В общем наш сайт будет летать и если что то нужно будет поправить, то мы или же нанятые нами программисты будет знать что и где необходимо править. Незабываем так же о виде кода, по возможности описывайте что отвечает за какие либо действия (комментируйте все что вы пишите, пусть и вкратце, но описывайте).

Иногда нам необходимо достать приличную сумму денег и владея автомобилем, мы можем сдать его в автоломбард «Альянс» в Киеве http://alliancelombard.com/. В самые кратчайшие сроки, за ваш автомобиль выделять необходимую вам сумму денег.

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.