Создание контроллера и подключение модели
Как и писал ранее о создании модели, все создано очень просто и понятно, с контроллерами практически все тоже самое. Контроллер обращается к модели, которая в свою очередь создает выборку из базы данных и передает обратно в контроллер, контроллер создает вид и передает все данные в представление (view).
Работая с контроллерами мы так же будет создавать новые контроллеры как и модели, каждый контроллер будет отвечать за определенный вывод информации, новости/пользователи и прочее.
Начнем писать контроллер
У нас уже есть модель Model_Post.php, теперь создаем в папке
наш первый контроллер Control_Post.php
и так давайте рассмотрим подробнее.
Переменная $data['posts'] содержит массив всех записей из базы данных, которые выводит наша модель Model_post.
В CodeIgniter как я и писал ранее есть стандартные библиотеки, которые позволяют сделать полноценный сайт не прибегая к сторонним скриптам, классам.
Обратите внимание, чтобы подгружать библиотеки автоматически на всех страницах сайта, их необходимо прописать в /config/autoload.php
вместо
пишем
Так же и с хелперсами и с моделями и прочим. Все сделано для людей и для удобства разработки.
Перейдем далее.
Нам нужно создать файлы шаблона, а именно файл header, footer, post создаем их в папке /application/views/temp/. Так же обратите внимание на $data, если нам необходимо что либо вывести в шаблоне из функции, нам необходимо указать в данных шаблонах $data, она у нас содержит массив заголовок и посты.
header.php
footer.php
post.php
Что мы сделали, мы создали цикл где форечем перебираем все посты из базе данных, так как $post содержит массив всех постов которые сформировал нам контроллер обратившийся в нашу модель.
Работая с контроллерами мы так же будет создавать новые контроллеры как и модели, каждый контроллер будет отвечать за определенный вывод информации, новости/пользователи и прочее.
Начнем писать контроллер
У нас уже есть модель Model_Post.php, теперь создаем в папке
/application/controllers/
наш первый контроллер Control_Post.php
<?php
class Control_Post extends CI_Controller {
public function __construct()
{
parent::__construct();
// подключаем модель
$this->load->model('model_post');
}
/***
* функция для вывода всех записей на страницу
*
*/
public function posts()
{
// Обращаемся к нашей модели, к функции get_post
$data['posts'] = $this->model_post->get_post();
// Это будет заголовком страницы title
$data['title'] = 'Все посты';
// Подключаем библиотеку пагинации, в скорое она нам пригодится
$this->load->library('pagination');
// Подгружаем шаблоны
$this->load->view('views/header', $data);
$this->load->view('views/post', $data);
$this->load->view('views/footer');
}
}
и так давайте рассмотрим подробнее.
Переменная $data['posts'] содержит массив всех записей из базы данных, которые выводит наша модель Model_post.
$data['title'] — будет заголовком страницы
$this->load->library('pagination');
В CodeIgniter как я и писал ранее есть стандартные библиотеки, которые позволяют сделать полноценный сайт не прибегая к сторонним скриптам, классам.
Обратите внимание, чтобы подгружать библиотеки автоматически на всех страницах сайта, их необходимо прописать в /config/autoload.php
вместо
$autoload['libraries'] = array();
пишем
$autoload['libraries'] = array('pagination');
Так же и с хелперсами и с моделями и прочим. Все сделано для людей и для удобства разработки.
Перейдем далее.
$this->load->view('temp/header', $data);
$this->load->view('temp/post', $data);
$this->load->view('temp/footer');
Нам нужно создать файлы шаблона, а именно файл header, footer, post создаем их в папке /application/views/temp/. Так же обратите внимание на $data, если нам необходимо что либо вывести в шаблоне из функции, нам необходимо указать в данных шаблонах $data, она у нас содержит массив заголовок и посты.
header.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo $title ? $title : 'нету'; ?></title>
</head>
<body>
footer.php
</body>
</html>
post.php
<?php echo $paginator ?>
<?php foreach ($posts as $cell): ?>
<h2><?php echo $cell['title'] ?></h2>
<div id="main">
<?php echo $cell['post'] ?>
</div>
<p><a href="/post/<?php echo $cell['id'] ?>">View article</a></p>
<?php endforeach ?>
Что мы сделали, мы создали цикл где форечем перебираем все посты из базе данных, так как $post содержит массив всех постов которые сформировал нам контроллер обратившийся в нашу модель.
Хотите порадовать свою девушку, купите ей кольцо или какое нибудь другое украшение например браслет, ювелирный магазин с огромным ассортиментом товаров поможет вам в подобрать отличное украшение для вашей девушки.
0 комментариев