Контролери на 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: // 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
  • class Welcome разширява CI_Controller {…} дефинира клас Welcome, който разширява родителския клас CI_Controller
  • 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 правило от бирманската CSS рамка.

Отворете следния 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 в application / views / about_us.php

Добавете следния код

About CodeIgniter!

About us yap…

Добре е да започнем, отворете следния URL във вашия уеб браузър

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

Ще видите следната страница

Ако можете да видите горната страница, тогава поздравления, успешно сте създали просто приложение в CodeIgniter.

Обобщение

В този урок разгледахме три (3) основни компонента, които съставляват приложението CodeIgniter. Разгледахме маршрутите и как да ги дефинираме, контролерите и как да създадем методи, които отговарят на заявките за маршрути и създадохме прости изгледи, които се връщат на потребителите, когато поискат ресурс.