CodeTennkontrollere, visningsruting: Lær med eksempelappen
I denne opplæringen skal du lære følgende emner.
- Routing – ruting er ansvarlig for å reagere på URL forespørsler. Rutingen samsvarer med URL til de forhåndsdefinerte rutene. Hvis ingen rutematch blir funnet, CodeIgniter genererer et unntak av typen «siden ikke funnet».
- Controllers – ruter er koblet til kontrollere. Kontrollere limer modellene og visningene sammen. Forespørselen om data/forretningslogikk fra modellen og returnerer resultatene i presentasjonen av visningen. Når en URL har blitt matchet med en rute, videresendes den til en kontroller sin offentlige funksjon. Denne funksjonen samhandler med datakilden, forretningslogikken og returnerer visningen som viser resultatene.
- Visninger – synspunkter er ansvarlige for presentasjon. En visning er vanligvis en kombinasjon av HTML, CSS og JavaManus. Dette er den delen som er ansvarlig for å vise nettsiden til brukeren. Vanligvis hentes dataene som vises vanligvis fra databasen eller andre tilgjengelige datakilder.
Hvordan lage en ny CodeIgniter-prosjektet
Vi vil bruke Composer til å lage et nytt prosjekt. Jeg skal bruke PHP innebygd server, så det er ikke nødvendig å ha ekstra programvare som f.eks Apache. I denne opplæringen bruker vi Windows operativsystem. Derfor har vi opprettet en Sites-mappe på stasjon C. Du kan bruke hvilken som helst katalog som passer for deg.
Åpne kommandolinjen/terminalen og kjør følgende kommando
cd C:\Sites
Vi skal nå lage en CodeIgniter-prosjektet ved hjelp av Composer. Kjør følgende kommando.
composer create-project CodeIgniter/framework ci-app
HER,
- Kommandoen ovenfor oppretter en ny CodeStart Igniter-prosjektversjon 3 med den nyeste stabile utgivelsen, dvs. 3.1.9, i en ci-app-mappe.
Når kommandoen ovenfor er fullført, bør du kunne oppnå resultater som ligner på følgende i terminalen
Kjør følgende kommando for å bla til den nyopprettede prosjektkatalogen ci-app
cd ci-app
La oss nå starte den innebygde PHP-nettserveren
php -S localhost:3000
HER,
- Kommandoen ovenfor starter den innebygde PHP-serveren som kjører på port 3000.
Åpne nettleseren og bla gjennom følgende URL: http://localhost:3000/
Du får opp følgende side
Hvis du kan se siden ovenfor, så gratulerer, du har installert CodeTenner.
Som du kan lese fra nettsiden ovenfor, er siden som vises ovenfor gjengitt av visningen som ligger i application/views/welcome_message.php og den ansvarlige kontrolleren er plassert i application/controllers/Welcome.php
CodeTennruting
Foreløpig har applikasjonen vår bare én URL som er hjemmesiden. I denne delen skal vi tilpasse hjemmesidedelen. Vi skal opprette noen nye URLsom vil svare på de ulike forespørslene.
La oss starte med startsideruten
Åpne rutefilen som angitt av stien nedenfor
application/config/routes.php
Du bør kunne se følgende innhold
$route['default_controller'] = 'welcome'; $route['404_override'] = ''; $route['translate_uri_dashes'] = FALSE;
HER,
- $route['default_controller'] = 'velkommen'; definerer standardkontrolleren som svarer på URI-forespørslene
- $route['404_override'] = ”; denne ruten lar deg definere en tilpasset rute for 404-feil. En 404-feil oppstår når en side ikke blir funnet. CodeIgniter har en standardbehandler for feilen, men du kan definere din egen hvis du ønsker det.
- $route['translate_uri_dashes'] = FALSE; dette alternativet lar deg oversette bindestreker til understrekninger. Vi vil snakke om dette alternativet når vi ser på hvordan ruter fungerer i CodeTennapparat.
La oss nå se på kontrollermetoden som er ansvarlig for å vise hjemmesiden vi så da vi åpnet URL http://localhost:3000/ i nettleseren.
Åpne følgende fil
application/controllers/Welcome.php
Du skal kunne se følgende kode
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function index()
{
$this->load->view('welcome_message');
}
}
HER,
- Definert ('BASEPATH') ELLER exit('Ingen direkte skripttilgang tillatt'); beskytter mot direkte tilgang til kontrollerklassen uten å gå gjennom index.php-filen. Husk at i MVC-paradigmet har alle forespørsler ett enkelt inngangspunkt, og for CodeIgniter, det er index.php. Denne koden blokkerer alle forespørsler som ikke kommer gjennom index.php
- klasse Velkommen utvider CI_Controller {...} definerer en klasse Velkommen som utvider den overordnede klassen CI_Controller
- public function index() definerer en offentlig funksjon som kalles opp som standard når du åpner hjemmesiden
- $this->load->view('welcome_message'); denne linjen laster visningen welcome_message. Filen welcome_message ligger i katalogen application/views/welcome_message.php
Så langt har vi bare utforsket det som kommer ut av esken med CodeIgniter, la oss nå prøve å gjøre noen endringer. Vi skal opprette hjemmesiden vår og erstatte standardsiden.
Opprett en ny fil i application/views/home.php
Legg til følgende kode til 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>
HER,
Ovennevnte HTML-kode laster Burma SSS-rammeverk og font fra CDN-nettverket skaper et veldig grunnleggende HTML-dokument. Den bruker veldig enkel CSS-regel fra Burma CSS-rammeverket.
Åpne følgende URL i nettleseren din: http://localhost:3000/
Du bør kunne se følgende
Flott, vi har nettopp endret hjemmesiden. Gå videre, la oss definere ruten vår. La oss anta at applikasjonen vår også må kunne vise om oss-siden.
Lag en rute
Åpne rutefilen application/config.routes.php
Legg til følgende rute
$route['about-us'] = 'welcome/about_us';
HER,
- Når en besøkende besøker URL /om-oss, vi instruerer CodeIgniter for å lete etter en kontroller Welcome og utfør metoden about_us.
Opprett en kontroller
La oss nå definere kontrollermetoden om oss
Åpne applikasjon/kontrollere/Welcome.php
Legg til følgende metode
public function about_us(){
$this->load->view('about_us');
}
HER,
- Koden ovenfor definerer en funksjon about_us og laster en visning about_us.
Opprett en visning
La oss nå lage visningen som vi nettopp refererte til i delen ovenfor
Opprett en ny fil about_us.php i application/views/about_us.php
Legg til følgende kode
<!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>
Vi er klare, åpne følgende URL i nettleseren din: http://localhost:3000/index.php/about-us
Du vil se følgende side
Hvis du kan se siden ovenfor, gratulerer, du har opprettet en enkel applikasjon i CodeTennapparat.
Sammendrag
I denne veiledningen dekket vi tre (3) hovedkomponenter som utgjør en CodeIgniter-applikasjon. Vi så på ruter og hvordan man definerer dem, kontrollere og hvordan man lager metoder som svarer på ruteforespørsler, og laget enkle visninger som returneres til brukerne når de ber om en ressurs.




