CodeIgniter Controllers, Views Routing: Lær med eksempelapp

Indholdsfortegnelse:

Anonim

I denne vejledning skal du lære følgende emner.

  • Routing - routing er ansvarlig for at svare på URL-anmodninger. Routing matcher URL'en til de foruddefinerede ruter. Hvis der ikke findes nogen rutematch, kaster CodeIgniter en side, der ikke findes en undtagelse.
  • Controllere - ruter er knyttet til controllere. Controllere limer modellerne og udsigterne sammen. Anmodningen om data / forretningslogik fra modellen og returnere resultaterne i præsentationen af ​​visningen. Når en URL er blevet matchet med en rute, videresendes den til en controllerens offentlige funktion. Denne funktion interagerer med datakilden, forretningslogikken og returnerer den visning, der viser resultaterne.
  • Visninger - synspunkter er ansvarlige for præsentationen. En visning er normalt en kombination af HTML, CSS og JavaScript. Dette er den del, der er ansvarlig for at vise websiden for brugeren. Typisk hentes de viste data normalt fra databasen eller andre tilgængelige datakilder.

I denne vejledning lærer du-

  • Sådan oprettes et nyt CodeIgniter-projekt
  • CodeIgniter Routing
  • Opret en rute
  • Opret en controller
  • Opret en visning

Sådan oprettes et nyt CodeIgniter-projekt

Vi bruger Composer til at oprette et nyt projekt. Jeg bruger den indbyggede PHP-server, så det er ikke nødvendigt at have ekstra software som Apache. I denne vejledning bruger vi Windows-operativsystemet. Derfor har vi oprettet en Sites-mappe på drev C. Du kan bruge ethvert bibliotek, der passer til dig.

Åbn kommandolinjen / terminalen, og kør følgende kommando

cd C:\Sites

Vi opretter nu et CodeIgniter-projekt ved hjælp af Composer. Kør følgende kommando

composer create-project CodeIgniter/framework ci-app

HER,

  • Ovenstående kommando opretter en ny CodeIgniter-projektversion 3 ved hjælp af den seneste stabile udgivelse, dvs. 3.1.9 i en biblioteks-ci-app.

Når ovenstående kommando er afsluttet, skal du kunne opnå resultater svarende til følgende i terminalen

Kør følgende kommando for at bladre til den nyoprettede projektmappe ci-app

cd ci-app

Lad os nu starte den indbyggede PHP-webserver

 php -S localhost:3000 

HER,

  • Ovenstående kommando starter den indbyggede PHP-server, der kører på port 3000.

Åbn webbrowseren, og gennemse følgende URL

http: // localhost: 3000 /

Du får den følgende side

Hvis du kan se ovenstående side, så tillykke, du har installeret CodeIgniter.

Som du kan læse fra ovenstående webside gengives ovenstående side af visningen i applikationen / visninger / velkomst_meddelelse.php og den ansvarlige controller er placeret i applikationen / controllere / Welcome.php

CodeIgniter Routing

For øjeblikket har vores ansøgning kun en enkelt URL, som er startsiden. I dette afsnit tilpasser vi startsektionen. Vi opretter nogle nye webadresser, der svarer på de forskellige anmodninger.

Lad os starte med startsiden rute

Åbn rutefilen som angivet af stien nedenfor

application/config/routes.php
Du skal kunne se følgende indhold
$route['default_controller'] = 'welcome';$route['404_override'] = '';$route['translate_uri_dashes'] = FALSE;

HER,

  • $ route ['default_controller'] = 'velkommen'; definerer standardcontrolleren, der reagerer på URI-anmodningerne
  • $ rute ['404_override'] = ''; denne rute giver dig mulighed for at definere en brugerdefineret rute til 404 fejl. En 404-fejl opstår, når en side ikke findes. CodeIgniter har en standardhåndterer til fejlen, men du kan definere din egen, hvis du ønsker det.
  • $ route ['translate_uri_dashes'] = FALSK; denne mulighed giver dig mulighed for at oversætte bindestreger til understregninger. Vi vil tale om denne mulighed, når vi ser på, hvordan ruter fungerer i CodeIgniter.

Lad os nu se på den controller-metode, der er ansvarlig for at vise den startside, som vi så, da vi åbnede URL'en http: // localhost: 3000 / i webbrowseren

Åbn følgende fil

application/controllers/Welcome.php

Du skal kunne se følgende kode

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

HER,

  • Defineret ('BASEPATH') ELLER afslut ('Ingen direkte adgang til script tilladt'); beskytter mod direkte adgang til controller-klassen uden at gå gennem index.php-filen. Husk, i MVC-paradigme har alle anmodninger et enkelt indgangspunkt, og for CodeIgniter er dets index.php. Denne kode blokerer alle anmodninger, der ikke kommer gennem index.php
  • klasse Velkomst udvider CI_Controller {…} definerer en klasse Velkomst, der udvider den overordnede klasse CI_Controller
  • public function index () definerer en offentlig funktion, der kaldes som standard, når du åbner hjemmesiden
  • $ this-> load-> view ('welcome_message'); denne linje indlæser visningen welcome_message. Filen welcome_message er placeret i katalogapplikationen / views / welcome_message.php

Indtil videre har vi kun undersøgt, hvad der kommer ud af kassen med CodeIgniter, lad os nu prøve at foretage nogle ændringer. Vi opretter vores startside og erstatter standardsiden

Opret en ny fil i application / views / home.php

Føj følgende kode til home.php

Hello CodeIgniter!

CodeIgniter Hello World

HER,

Ovenstående HTML-kode indlæser Burma SSS-ramme og skrifttype fra CDN-netværk skaber et meget grundlæggende HTML-dokument. Det anvender meget enkel CSS-regel fra Burma CSS-ramme.

Åbn følgende URL i din browser

http: // localhost: 3000 /

Du skal kunne se følgende

Godt, vi har netop ændret hjemmesiden med succes. Lad os definere vores rute. Lad os antage, at vores ansøgning også skal være i stand til at vise siden om os.

Opret en rute

Åbn rutefilapplikationen / config.routes.php

Tilføj følgende rute

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

HER,

  • Når en besøgende besøger URL'en / om os, instruerer vi CodeIgniter om at kigge efter en controller velkomst og udføre metoden about_us.

Opret en controller

Lad os nu definere controller-metoden om os

Åbn applikation / controllere / Welcome.php

Tilføj følgende metode

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

HER,

  • Ovenstående kode definerer en funktion about_us og indlæser en visning about_us.

Opret en visning

Lad os nu oprette den visning, som vi lige har henvist til i ovenstående afsnit

Opret en ny fil about_us.php i application / views / about_us.php

Tilføj følgende kode

About CodeIgniter!

About us yap…

Vi er gode til at gå, åbn følgende URL i din webbrowser

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

Du vil se den næste side

Hvis du er i stand til at se ovenstående side, så tillykke, du har oprettet en enkel applikation i CodeIgniter.

Resumé

I denne vejledning dækkede vi tre (3) hovedkomponenter, der udgør en CodeIgniter-applikation. Vi kiggede på ruter og hvordan man definerede dem, controllere og hvordan man opretter metoder, der reagerer på ruteanmodninger og skabte enkle visninger, der returneres til brugerne, når de anmoder om en ressource.