Контроллеры CodeIgniter, маршрутизация представлений: изучение с примером приложения

Содержание:

Anonim

В этом руководстве вы изучите следующие темы.

  • Маршрутизация - маршрутизация отвечает за ответы на запросы URL. Маршрутизация сопоставляет URL-адрес с заранее определенными маршрутами. Если совпадение маршрута не найдено, CodeIgniter выдает исключение для страницы, не найденной.
  • Контроллеры - маршруты связаны с контроллерами. Контроллеры склеивают модели и виды вместе. Запрос данных / бизнес-логики из модели и возврат результатов в представлении представления. Как только URL-адрес сопоставлен с маршрутом, он пересылается в публичную функцию контроллера. Эта функция взаимодействует с источником данных, бизнес-логикой и возвращает представление, в котором отображаются результаты.
  • Просмотры - представления отвечают за представление. Представление обычно представляет собой комбинацию HTML, CSS и JavaScript. Эта часть отвечает за отображение веб-страницы пользователю. Как правило, отображаемые данные обычно берутся из базы данных или любых других доступных источников данных.

В этом руководстве вы узнаете:

  • Как создать новый проект CodeIgniter
  • CodeIgniter Маршрутизация
  • Создать маршрут
  • Создать Контроллер
  • Создать представление

Как создать новый проект CodeIgniter

Мы будем использовать Composer для создания нового проекта. Я буду использовать встроенный сервер PHP, поэтому нет необходимости в дополнительном программном обеспечении, таком как Apache. В этом руководстве мы используем операционную систему Windows. Поэтому мы создали папку Sites на диске C. Вы можете использовать любой каталог, который вам подходит.

Откройте командную строку / терминал и выполните следующую команду

cd C:\Sites

Теперь мы создадим проект CodeIgniter с помощью Composer. Выполните следующую команду

composer create-project CodeIgniter/framework ci-app

ЗДЕСЬ,

  • Приведенная выше команда создает новый проект CodeIgniter версии 3 с использованием последней стабильной версии, то есть 3.1.9, в каталоге ci-app.

После завершения выполнения указанной выше команды вы сможете получить в терминале результаты, аналогичные приведенным ниже.

Выполните следующую команду, чтобы перейти к вновь созданному каталогу проекта ci-app

cd ci-app

Теперь запустим встроенный веб-сервер PHP.

 php -S localhost:3000 

ЗДЕСЬ,

  • Приведенная выше команда запускает встроенный PHP-сервер, работающий на порту 3000.

Откройте веб-браузер и перейдите по следующему URL-адресу

http: // локальный: 3000 /

Вы получите следующую страницу

Если вы видите страницу выше, поздравляю, вы успешно установили CodeIgniter.

Как вы можете прочитать на указанной выше веб-странице, отображаемая выше страница отображается представлением, расположенным в application / views / welcome_message.php, а ответственный контроллер находится в application / controllers / Welcome.php

CodeIgniter Маршрутизация

На данный момент у нашего приложения есть только один URL-адрес, который является домашней страницей. В этом разделе мы настроим домашний раздел. Мы создадим несколько новых URL-адресов, которые будут отвечать на различные запросы.

Начнем с маршрута к домашней странице

Откройте файл маршрутов по указанному ниже пути.

application/config/routes.php
Вы должны увидеть следующий контент
$route['default_controller'] = 'welcome';$route['404_override'] = '';$route['translate_uri_dashes'] = FALSE;

ЗДЕСЬ,

  • $ route ['default_controller'] = 'добро пожаловать'; определяет контроллер по умолчанию, который отвечает на запросы URI
  • $ route ['404_override'] = ''; этот маршрут позволяет определить собственный маршрут для ошибок 404. Ошибка 404 возникает, когда страница не найдена. CodeIgniter имеет обработчик ошибки по умолчанию, но вы можете определить свой собственный, если хотите.
  • $ route ['translate_uri_dashes'] = ЛОЖЬ; эта опция позволяет переводить тире в подчеркивание. Мы поговорим об этой опции, когда посмотрим, как работают маршруты в CodeIgniter.

Давайте теперь посмотрим на метод контроллера, отвечающий за отображение домашней страницы, которую мы видели, когда открывали URL-адрес http: // localhost: 3000 / в веб-браузере.

Откройте следующий файл

application/controllers/Welcome.php

Вы должны увидеть следующий код

load->view('welcome_message');}}

ЗДЕСЬ,

  • Определено ('BASEPATH') ИЛИ exit ('Прямой доступ к сценариям не разрешен'); защищает от прямого доступа к классу контроллера без прохождения файла index.php. Помните, что в парадигме MVC все запросы имеют одну точку входа, а для CodeIgniter - его index.php. Этот код блокирует все запросы, которые не проходят через index.php.
  • class Welcome расширяет CI_Controller {…} определяет класс Welcome, который расширяет родительский класс CI_Controller
  • public function index () определяет общедоступную функцию, которая вызывается по умолчанию при открытии домашней страницы
  • $ this-> load-> view ('welcome_message'); эта строка загружает представление welcome_message. Файл welcome_message находится в каталоге application / views / welcome_message.php.

Пока мы изучили только то, что выходит из коробки с CodeIgniter, давайте теперь попробуем внести некоторые изменения. Мы создадим нашу домашнюю страницу и заменим страницу по умолчанию

Создайте новый файл в application / views / home.php

Добавьте следующий код в home.php

Hello CodeIgniter!

CodeIgniter Hello World

ЗДЕСЬ,

Приведенный выше HTML-код загружает структуру Burma SSS, а шрифт из сети CDN создает очень простой HTML-документ. Он применяет очень простое правило CSS из структуры Burma CSS.

Откройте следующий URL-адрес в своем браузере

http: // локальный: 3000 /

Вы должны увидеть следующее

Отлично, мы только что успешно изменили домашнюю страницу. Идем дальше, определимся с нашим маршрутом. Предположим, наше приложение также должно отображать страницу о нас.

Создать маршрут

Откройте файл маршрутов application / config.routes.php

Добавьте следующий маршрут

$route['about-us'] = 'welcome/about_us';

ЗДЕСЬ,

  • Когда посетитель посещает URL-адрес / about-us, мы инструктируем CodeIgniter найти контроллер Welcome и выполнить метод about_us.

Создать Контроллер

Давайте теперь определим метод контроллера о нас

Откройте приложение / контроллеры / Welcome.php

Добавьте следующий метод

public function about_us(){$this->load->view('about_us');}

ЗДЕСЬ,

  • Приведенный выше код определяет функцию about_us и загружает представление about_us.

Создать представление

Теперь давайте создадим представление, на которое мы только что ссылались в предыдущем разделе.

Создайте новый файл about_us.php в application / views / about_us.php

Добавьте следующий код

About CodeIgniter!

About us yap…

Мы готовы, откройте следующий URL-адрес в своем веб-браузере

http: // локальный: 3000 / index.php / о нас

Вы увидите следующую страницу

Если вы видите страницу выше, поздравляю, вы успешно создали простое приложение в CodeIgniter.

Резюме

В этом руководстве мы рассмотрели три (3) основных компонента, из которых состоит приложение CodeIgniter. Мы рассмотрели маршруты и способы их определения, контроллеры и способы создания методов, отвечающих на запросы маршрутов, и создали простые представления, которые возвращаются пользователям, когда они запрашивают ресурс.