Создание модели подключения к базе данных
Как уже и писал раннее для вывода базы данных у нас есть три папки
В папка models мы создаем класс, который будет формировать запрос вывода из базы данных, грубо говоря обычный sql запрос, вам не нужно проводить какую либо фильтрацию данных по защите от инъекций и xss атак, CodeIgniter все сделает за вас, так как в создаваемом классе мы будет использовать оригинальные библиотеки CodeIgniter по защите от всякого лишнего кода.
В папке controller мы так же создаем класс, который формирует вывод контента основанного/взятого из класса в models. Своего рода controllers формирует некий html код с контентом (думаю так будет более понятно).
В папке views хранятся шаблоны, которые мы будет указывать в нашем controllers для последующего вывода контента на саму страницу.
Приступим…
Начнем пожалуй с модели.
Создаем файл Model_Post.php
Обратите внимание на сколько все просто.
$cell — если данная переменная НЕ содержит айди мы выполняем первое подключение в нашей функции, в противном случае второе.
Второе подключение будет срабатывать по ссылке вида /post/1/
Но для этого нам нужно будет обратиться к /config/routes.php об этом я опишу чуть позже.
Немного о главном. Не нужно в одной модели устраивать «огород» функций, каждая модель должна отвечать за определенный вывод контента (таблицы). То есть если мы выводим новости, то мы пишем запросы к таблице post именно в данном классе, если в дальнейшем вам нужно будет выбирать данные пользователей из таблице (users), то пишем новый класс Model_Users в новом файле Model_Users.php
Все это позволит приложению работать не только правильно и понятно для последующей правки, но и сократит время его обработки. В общем наш сайт будет летать и если что то нужно будет поправить, то мы или же нанятые нами программисты будет знать что и где необходимо править. Незабываем так же о виде кода, по возможности описывайте что отвечает за какие либо действия (комментируйте все что вы пишите, пусть и вкратце, но описывайте).
/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 комментариев