Создание контроллера и подключение модели
            Как и писал ранее о создании модели, все создано очень просто и понятно, с контроллерами практически все тоже самое. Контроллер обращается к модели, которая в свою очередь создает выборку из базы данных и передает обратно в контроллер, контроллер создает вид и передает все данные в представление (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 комментариев