CodeSytytysohjaimet, Näkymät Reititys: Opi esimerkin avulla
⚡ Älykäs yhteenveto
Tämä CodeIgniter-esimerkki rakentaa pienen sovelluksen, joka havainnollistaa reitityksen, ohjainten ja näkymien yhteistyötä. Uusi projekti luodaan Composerilla, reitityskartalla. URLs ohjainmetodeille, ja jokainen metodi lataa näkymän, joka palauttaa HTML-koodin selaimelle.
Tässä opetusohjelmassa opit seuraavat aiheet:
- Reititys – reititys vastaa reagoinnista URL pyyntöjä. Reititys vastaa URL ennalta määriteltyihin reitteihin. Jos reittiä ei löydy, CodeIgniter heittää sivua ei löydy -poikkeuksen.
- ohjaimet – reitit linkittyvät ohjaimiin. Ohjaimet liimaavat mallit ja näkymät yhteen. Ne pyytävät mallilta dataa ja liiketoimintalogiikkaa ja palauttavat tulokset näkymän esitysmuodossa. Kun URL on yhdistetty reittiin, se välitetään ohjaimen julkiselle funktiolle. Tämä funktio on vuorovaikutuksessa tietolähteen ja 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 JavaSkripti. Tämä osa vastaa verkkosivun näyttämisestä käyttäjälle. Yleensä näytettävät tiedot haetaan tietokannasta tai muusta käytettävissä olevasta tietolähteestä.
Kuinka luoda uusi CodeSytytinprojekti
Käytämme Composeria uuden projektin luomiseen. Käytämme PHP:n sisäänrakennettua palvelinta, joten ylimääräisiä ohjelmistoja, kuten ApacheTässä opetusohjelmassa käytämme Windows käyttöjärjestelmä, joten olemme luoneet Sivustot-kansion C-asemalle. Voit käyttää mitä tahansa sinulle sopivaa hakemistoa.
Avaa komentorivi tai pääte ja suorita seuraava komento:
cd C:\Sites
Luomme nyt a CodeIgniter-projekti Composerilla. Suorita seuraava komento:
composer create-project CodeIgniter/framework ci-app
Tässä:
- Yllä oleva komento luo uuden CodeIgniter-projektin versio 3, käyttäen uusinta vakaata julkaisua (3.1.9 kirjoitushetkellä), hakemistoon nimeltä ci-app.
Kun komento on suoritettu loppuun, sinun pitäisi nähdä terminaalissa seuraavanlaisia tuloksia:
Suorita seuraava komento selataksesi juuri luotuun projektihakemistoon ci-app:
cd ci-app
Käynnistä nyt PHP:n sisäänrakennettu web-palvelin:
php -S localhost:3000
Tässä:
- Yllä oleva komento käynnistää sisäänrakennetun PHP-palvelimen portissa 3000.
Avaa verkkoselain ja selaa seuraavia URL: http://localhost:3000/Saat seuraavan sivun:
Jos näet yllä olevan sivun, onneksi olkoon, asennus on onnistunut. CodesytytinSivu renderöidään näkymässä, joka sijaitsee tiedostossa application/views/welcome_message.php, ja vastaava ohjain sijaitsee tiedostossa application/controllers/Welcome.php.
CodeSytyttimen reititys
Tällä hetkellä sovelluksessamme on vain yksi URL, joka on kotisivu. Tässä osiossa mukautamme kotisivua ja luomme uusia URLjotka vastaavat erilaisiin pyyntöihin.
Aloitetaan kotisivun reitistä. Avaa reittitiedosto alla olevasta polusta:
application/config/routes.php
Sinun pitäisi nähdä seuraava sisältö:
$route['default_controller'] = 'welcome'; $route['404_override'] = ''; $route['translate_uri_dashes'] = FALSE;
Tässä:
- $route['default_controller'] = 'welcome'; määrittää oletusohjaimen, joka vastaa URI-pyyntöihin.
- $route['404_override'] = ”; voit määrittää mukautetun reitin 404-virheille. 404-virhe tapahtuu, kun sivua ei löydy. CodeIgniterillä on oletuskäsittelijä virheelle, mutta voit määrittää oman, jos haluat.
- $route['translate_uri_dashes'] = FALSE; voit muuntaa viivat alaviivoiksi. Käsittelemme tätä vaihtoehtoa, kun tarkastelemme reittien toimintaa CodeSytytin.
Katsotaanpa nyt ohjainmenetelmää, joka vastaa kotisivun näyttämisestä, jonka näimme avatessamme http://localhost:3000/Avaa seuraava tiedosto:
application/controllers/Welcome.php
Sinun pitäisi nähdä 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('Suoraa komentosarjojen käyttöä ei sallita'); suojaa ohjainluokan suoralta käyttämiseltä ilman index.php-tiedoston läpikulkua. MVC-paradigmassa kaikilla pyynnöillä on yksi aloituspiste, joka esim. CodeSytytin on index.php. Tämä koodi estää kaikki pyynnöt, jotka eivät tule index.php:n kautta.
- luokka Welcome laajentaa CI_Controller-luokkaa {…} määrittelee Welcome-luokan, joka laajentaa pääluokkaa CI_Controller.
- public function index() määrittää julkisen funktion, jota kutsutaan oletusarvoisesti, kun avaat kotisivun.
- $this->load->view('welcome_message'); lataa welcome_message-näkymän, joka sijaitsee tiedostossa application/views/welcome_message.php.
Tähän mennessä olemme tutkineet vain sitä, mitä laatikosta tulee ulos CodeSytytin. Tehdään nyt joitakin muutoksia. Luomme oman kotisivun ja korvaamme oletussivun. Luo uusi tiedosto osoitteeseen application/views/home.php ja lisää seuraava koodi:
<!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 Bulma CSS -kehyksen ja Font Awesome -ominaisuuden CDN:stä ja luo hyvin yksinkertaisen HTML-dokumentin. Se soveltaa yksinkertaista CSS-sääntöä Bulma CSS -kehyksestä.
Avaa seuraavat URL selaimessasi: http://localhost:3000/Sinun pitäisi nähdä seuraavaa:
Hienoa, olemme muokanneet kotisivua onnistuneesti. Siirrytäänpä määrittelemään reittimme. Oletetaan, että sovelluksemme tarvitsee myös Tietoja meistä -sivun.
Luo reitti
Avaa reittitiedosto application/config/routes.php ja lisää seuraava reitti:
$route['about-us'] = 'welcome/about_us';
Tässä:
- Kun vierailija vierailee URL /tietoa-meistä, ohjeistamme CodeSytytin etsii ohjainta. Tervetuloa ja suorita about_us-metodi.
Luo ohjain
Määritellään nyt ohjaimen metodi about_us. Avaa application/controllers/Welcome.php ja lisää seuraava metodi:
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 juuri mainitsemamme näkymä. Luo uusi tiedosto about_us.php hakemistoon application/views/about_us.php ja lisää siihen 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>
Olemme valmiita aloittamaan. Avaa seuraava URL verkkoselaimessasi: http://localhost:3000/index.php/about-usNäet seuraavan sivun:
Jos näet yllä olevan sivun, onneksi olkoon, olet luonut yksinkertaisen sovelluksen. CodeSytytin.





