Контролери CodeIgniter, маршрутизація переглядів: Дізнайтеся з прикладом програми

Зміст:

Anonim

У цьому підручнику ви збираєтесь вивчити наступні теми.

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

У цьому підручнику ви дізнаєтесь-

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

Як створити новий проект CodeIgniter

Ми використаємо Composer для створення нового проекту. Я буду використовувати вбудований сервер PHP, тому необов’язково мати додаткове програмне забезпечення, таке як Apache. У цьому посібнику ми використовуємо операційну систему Windows. Тому ми створили папку Сайти на диску 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: // localhost: 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'] = FALSE; цей параметр дозволяє переводити тире в підкреслення. Про цю опцію ми поговоримо, коли подивимося, як працюють маршрути в CodeIgniter.

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

Відкрийте наступний файл

application/controllers/Welcome.php

Ви повинні побачити наступний код

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

ТУТ,

  • Визначено ('BASEPATH') АБО вихід ('Прямий доступ до сценарію не дозволений'); захищає від прямого доступу до класу контролера без проходження через файл index.php. Пам’ятайте, у парадигмі MVC усі запити мають єдину точку входу, а для CodeIgniter - її index.php. Цей код блокує всі запити, які не надходять через index.php
  • клас Welcome розширює CI_Controller {…} визначає клас Welcome, який розширює батьківський клас CI_Controller
  • index публічної функції () визначає загальнодоступну функцію, яка викликається за замовчуванням при відкритті домашньої сторінки
  • $ this-> load-> view ('welcome_message'); цей рядок завантажує подання welcome_message. Файл welcome_message знаходиться в каталозі application / views / welcome_message.php

Наразі ми досліджували лише те, що виходить з коробки з CodeIgniter, спробуємо зараз внести деякі зміни. Ми створимо нашу домашню сторінку та замінимо сторінку за замовчуванням

Створіть новий файл у додатку / views / home.php

Додайте наступний код до home.php

Hello CodeIgniter!

CodeIgniter Hello World

ТУТ,

Зазначений вище HTML-код завантажує фреймворк Burma SSS, а шрифт із мережі CDN створює дуже базовий HTML-документ. Він застосовує дуже просте правило CSS із фреймворку CSM Бірми.

Відкрийте наступну URL-адресу у своєму браузері

http: // localhost: 3000 /

Ви повинні бачити наступне

Чудово, ми щойно успішно змінили домашню сторінку. Рухаючись далі, визначимо наш маршрут. Припустимо, наш додаток також повинен мати можливість показати сторінку про нас.

Створити маршрут

Відкрийте файл маршрутів application / config.routes.php

Додайте такий маршрут

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

ТУТ,

  • Коли відвідувач відвідує URL-адресу / about-us, ми вказуємо CodeIgniter шукати контролер Ласкаво просимо та виконувати метод about_us.

Створіть контролер

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

Відкрийте програму / контролери / Welcome.php

Додайте наступний спосіб

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

ТУТ,

  • Наведений вище код визначає функцію about_us та завантажує подання about_us.

Створіть подання

Давайте тепер створимо подання, на яке ми щойно посилалися у наведеному вище розділі

Створіть новий файл about_us.php у додатку / views / about_us.php

Додайте наступний код

About CodeIgniter!

About us yap…

Ми готові піти, відкрийте наступну URL-адресу у своєму веб-браузері

http: // localhost: 3000 / index.php / about-us

Ви побачите наступну сторінку

Якщо ви бачите вищезазначену сторінку, тоді вітаємо, ви успішно створили простий додаток у CodeIgniter.

Резюме

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