CodeIgniter-ohjaimet, Views Routing: Opi esimerkkisovelluksella
Tässä opetusohjelmassa opit seuraavat aiheet.
- Reititys – reititys vastaa URL-pyyntöihin vastaamisesta. Reititys vastaa URL-osoitetta ennalta määritettyihin reitteihin. Jos reittiä ei löydy, CodeIgniter antaa poikkeuksen sivulle ei löytynyt.
- ohjaimet – reitit on linkitetty ohjaimiin. Ohjaimet liimaavat mallit ja näkymät yhteen. Data/liiketoimintalogiikan pyyntö mallista ja tulokset palautetaan näkymän esitykseen. Kun URL-osoite on kohdistettu reittiin, se välitetään ohjaimen julkiseen toimintoon. Tämä toiminto on vuorovaikutuksessa tietolähteen, liiketoimintalogiikan kanssa ja palauttaa näkymän, joka näyttää tulokset.
- Näyttökerrat – Näkemykset ovat esittelyvastuussa. Näkymä on yleensä yhdistelmä HTML-, CSS- ja JavaKäsikirjoitus. Tämä osa vastaa verkkosivun näyttämisestä käyttäjälle. Tyypillisesti näytettävät tiedot haetaan yleensä tietokannasta tai muista saatavilla olevista tietolähteistä.
Kuinka luoda uusi CodeIgniter-projekti
Käytämme Composeria uuden projektin luomiseen. Käytän PHP sisäänrakennettua palvelinta, joten ei tarvitse olla ylimääräisiä ohjelmistoja, kuten Apache. Tässä opetusohjelmassa käytämme Windows käyttöjärjestelmä. Siksi olemme luoneet Sites-kansion asemaan C. Voit käyttää mitä tahansa sinulle sopivaa hakemistoa.
Avaa komentorivi/pääte ja suorita seuraava komento
cd C:\Sites
Luomme nyt CodeIgniter-projektin Composerilla. Suorita seuraava komento
composer create-project CodeIgniter/framework ci-app
TÄSSÄ,
- Yllä oleva komento luo uuden CodeIgniter-projektin version 3 käyttämällä uusinta vakaata julkaisua eli 3.1.9 hakemistoon ci-app.
Kun yllä oleva komento on suoritettu loppuun, sinun pitäisi pystyä saamaan seuraavanlaisia tuloksia päätteessä
Suorita seuraava komento selataksesi äskettäin luotuun projektihakemistoon ci-app
cd ci-app
Aloitetaan nyt sisäänrakennettu PHP-verkkopalvelin
php -S localhost:3000
TÄSSÄ,
- Yllä oleva komento käynnistää sisäänrakennetun PHP-palvelimen, joka toimii portissa 3000.
Avaa verkkoselain ja selaa seuraavaa URL-osoitetta: http://localhost:3000/
Saat seuraavan sivun
Jos näet yllä olevan sivun, onnittelut, asennus on onnistunut CodeIgniter.
Kuten yllä olevalta verkkosivulta voit lukea, yllä näkyvä sivu on hahmonnettu näkymässä, joka sijaitsee osoitteessa application/views/welcome_message.php ja vastaava ohjain sijaitsee osoitteessa application/controllers/Welcome.php.
CodeIgniter-reititys
Tällä hetkellä sovelluksellamme on vain yksi URL-osoite, joka on kotisivu. Tässä osiossa räätälöimme kotiosion. Luomme uusia URL-osoitteita, jotka vastaavat erilaisiin pyyntöihin.
Aloitetaan kotisivun reitillä
Avaa reittitiedosto alla olevan polun osoittamalla tavalla
application/config/routes.php
Sinun pitäisi pystyä näkemään seuraava sisältö
$route['default_controller'] = 'welcome'; $route['404_override'] = ''; $route['translate_uri_dashes'] = FALSE;
TÄSSÄ,
- $route['default_controller'] = 'Tervetuloa'; määrittää oletusohjaimen, joka vastaa URI-pyyntöihin
- $route['404_override'] = ”; Tämän reitin avulla voit määrittää mukautetun reitin 404-virheille. 404-virhe ilmenee, kun sivua ei löydy. CodeIgniterillä on oletuskäsittelijä virheelle, mutta voit halutessasi määrittää oman.
- $route['translate_uri_dashes'] = EPÄTOSI; Tämän vaihtoehdon avulla voit muuttaa viivat alaviivoiksi. Puhumme tästä vaihtoehdosta, kun tarkastelemme, kuinka reitit toimivat CodeIgniterissä.
Tarkastellaan nyt ohjainmenetelmää, joka vastaa kotisivun näyttämisestä, jonka näimme avattaessamme URL-osoitteen http://localhost:3000/
selaimessa.
Avaa seuraava tiedosto
application/controllers/Welcome.php
Sinun pitäisi pystyä näkemään seuraava koodi
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends CI_Controller { public function index() { $this->load->view('welcome_message'); } }
TÄSSÄ,
- Defined ('BASEPATH') TAI exit('Ei suoraa komentosarjan käyttöä sallittu'); suojaa suoralta pääsyltä ohjainluokkaan ilman index.php-tiedoston läpimenoa. Muista, että MVC-paradigmassa kaikilla pyynnöillä on yksi aloituspiste ja CodeIgniterille sen index.php. Tämä koodi estää kaikki pyynnöt, jotka eivät tule index.php:n kautta
- luokka Tervetuloa laajentaa CI_Controller {…} määrittää luokan Tervetuloa, joka laajentaa pääluokan CI_Controller
- public function index() määrittää julkisen funktion, joka kutsutaan oletusarvoisesti, kun avaat kotisivun
- $this->load->view('welcome_message'); tämä rivi lataa näkymän welcome_message. Tiedosto welcome_message sijaitsee hakemistossa application/views/welcome_message.php
Toistaiseksi olemme vain tutkineet, mitä CodeIgniterin laatikosta tulee, yritetään nyt tehdä joitain muutoksia. Luomme kotisivumme ja korvaamme oletussivun
Luo uusi tiedosto osoitteessa application/views/home.php
Lisää seuraava koodi osoitteeseen home.php
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Hello CodeIgniter!</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.2/css/bulma.min.css"> <script defer src="https://use.fontawesome.com/releases/v5.3.1/js/all.js"></script> </head> <body> <section class="section"> <div class="container"> <h1 class="title"> CodeIgniter Hello World </h1> </div> </section> </body> </html>
TÄSSÄ,
Yllä oleva HTML-koodi lataa Burman SSS-kehyksen ja fontin CDN-verkosta luovat hyvin yksinkertaisen HTML-dokumentin. Se soveltaa hyvin yksinkertaista CSS-sääntöä Burman CSS-kehyksestä.
Avaa seuraava URL-osoite selaimessasi: http://localhost:3000/
Sinun pitäisi pystyä näkemään seuraavat asiat
Hienoa, olemme juuri muuttaneet kotisivua onnistuneesti. Jatketaan, määritellään reittimme. Oletetaan, että sovelluksemme on pystyttävä näyttämään myös Tietoja meistä -sivu.
Luo reitti
Avaa reittitiedosto application/config.routes.php
Lisää seuraava reitti
$route['about-us'] = 'welcome/about_us';
TÄSSÄ,
- Kun vierailija vierailee URL-osoitteessa /about-us, ohjeistamme CodeIgniteriä etsimään ohjaimen Tervetuloa ja suorittamaan menetelmän about_us.
Luo ohjain
Määritellään nyt itseämme koskeva ohjainmenetelmä
Avaa application/controllers/Welcome.php
Lisää seuraava menetelmä
public function about_us(){ $this->load->view('about_us'); }
TÄSSÄ,
- Yllä oleva koodi määrittelee funktion about_us ja lataa näkymän about_us.
Luo näkymä
Luodaan nyt näkymä, johon juuri viitattiin yllä olevassa osiossa
Luo uusi tiedosto about_us.php osoitteessa application/views/about_us.php
Lisää seuraava koodi
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>About CodeIgniter!</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.2/css/bulma.min.css"> <script defer src="https://use.fontawesome.com/releases/v5.3.1/js/all.js"></script> </head> <body> <section class="section"> <div class="container"> <h1 class="title"> About us yap... </h1> </div> </section> </body> </html>
Nyt on hyvä mennä, avaa seuraava URL-osoite verkkoselaimessasi: http://localhost:3000/index.php/about-us
Näet seuraavan sivun
Jos näet yllä olevan sivun, onnittelut, olet onnistuneesti luonut yksinkertaisen sovelluksen CodeIgniterissä.
Yhteenveto
Tässä opetusohjelmassa käsittelimme kolme (3) pääkomponenttia, jotka muodostavat CodeIgniter-sovelluksen. Tarkastelimme reittejä ja niiden määrittelyä, ohjaimia ja menetelmiä, jotka vastaavat reittipyyntöihin ja loimme yksinkertaisia näkymiä, jotka palautetaan käyttäjille, kun he pyytävät resurssia.