CodeIgniteri kontrollerid, vaadete marsruutimine: õppige rakenduse Näide abil

Lang L: none (table-of-contents):

Anonim

Selles õpetuses õpite järgmisi teemasid.

  • Marsruutimine - marsruutimine vastutab URL-i päringutele vastamise eest. Marsruutimine vastab URL-ile eelnevalt määratletud marsruutidele. Kui marsruudi vastet ei leita, viskab CodeIgniter lehe, mida ei leitud.
  • Kontrollerid - marsruudid on ühendatud kontrolleritega. Kontrollerid liimivad mudelid ja vaated kokku. Andmete / äriloogika taotlus mudelilt ja tulemuste tagastamine vaate esitluses. Kui URL on marsruutiga sobitatud, edastatakse see kontrolleri avalikule funktsioonile. See funktsioon suhtleb andmeallika, äriloogikaga ja tagastab tulemused kuvava vaate.
  • Vaated - esitamise eest vastutavad vaated. Vaade on tavaliselt HTML, CSS ja JavaScripti kombinatsioon. See on osa, mis vastutab veebilehe kuvamise eest kasutajale. Tavaliselt leitakse kuvatavad andmed andmebaasist või muudest saadaolevatest andmeallikatest.

Selles õpetuses saate teada

  • Uue CodeIgniteri projekti loomine
  • CodeIgniteri marsruutimine
  • Looge marsruut
  • Looge kontroller
  • Looge vaade

Uue CodeIgniteri projekti loomine

Kasutame uue projekti loomiseks Composerit. Kasutan sisseehitatud PHP-serverit, nii et pole vaja lisatarkvara nagu Apache. Selles õpetuses kasutame Windowsi operatsioonisüsteemi. Seetõttu oleme loonud draivi C kausta Saidid. Võite kasutada mis tahes teile sobivat kataloogi.

Avage käsurida / terminal ja käivitage järgmine käsk

cd C:\Sites

Loome nüüd Composeri abil CodeIgniteri projekti. Käivitage järgmine käsk

composer create-project CodeIgniter/framework ci-app

SIIN,

  • Ülaltoodud käsk loob kataloogi ci-appi uue CodeIgniteri projekti versiooni 3, kasutades uusimat stabiilset versiooni, st 3.1.9.

Kui ülaltoodud käsk on lõpetatud, peaksite saama terminalis järgmiste tulemustega sarnaseid tulemusi

Käivitage järgmine käsk, et sirvida vastloodud projekti kataloogi ci-app

cd ci-app

Käivitame nüüd PHP sisseehitatud veebiserveri

 php -S localhost:3000 

SIIN,

  • Ülaltoodud käsk käivitab sisseehitatud PHP-serveri, mis töötab porti 3000.

Avage veebibrauser ja sirvige järgmist URL-i

http: // localhost: 3000 /

Saate järgmise lehe

Kui näete ülaltoodud lehte, siis palju õnne, olete CodeIgniteri edukalt installinud.

Nagu ülaltoodud veebisaidilt võite lugeda, renderdatakse ülaltoodud leht vaates, mis asub rakenduses / views / welcome_message.php ja vastutav kontroller asub rakenduses / controllerid / Welcome.php

CodeIgniteri marsruutimine

Praegu on meie rakendusel ainult üks URL, mis on avaleht. Selles jaotises kohandame kodu jaotist. Loome mõned uued URL-id, mis vastavad erinevatele taotlustele.

Alustame avalehe marsruudist

Avage marsruutide fail, nagu näitab allolev tee

application/config/routes.php
Peaksite nägema järgmist sisu
$route['default_controller'] = 'welcome';$route['404_override'] = '';$route['translate_uri_dashes'] = FALSE;

SIIN,

  • $ route ['default_controller'] = 'teretulnud'; määratleb vaikekontrolleri, mis vastab URI päringutele
  • $ route ['404_override'] = ''; see marsruut võimaldab teil määratleda kohandatud marsruudi 404 vea jaoks. 404 tõrge ilmneb siis, kui lehte ei leita. CodeIgniteril on vea jaoks vaikekäsitleja, kuid soovi korral saate selle ise määratleda.
  • $ route ['translate_uri_dashes'] = VALE; see valik võimaldab teil kriipsud alakriipsudeks tõlkida. Sellest võimalusest räägime siis, kui vaatame marsruutide toimimist CodeIgniteris.

Vaatame nüüd kontrolleri meetodit, mis vastutab avalehe kuvamise eest, mida nägime veebibrauseris URL-i avamisel: http: // localhost: 3000 /

Avage järgmine fail

application/controllers/Welcome.php

Peaksite nägema järgmist koodi

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

SIIN,

  • Defined ('BASEPATH') VÕI exit ('Skripti otsene juurdepääs pole lubatud'); kaitseb kontrolleriklassile otse juurdepääsu eest ilma faili index.php läbimata. Pidage meeles, et MVC paradigmas on kõigil taotlustel üks sisestuspunkt ja CodeIgniteri puhul selle index.php. See kood blokeerib kõik päringud, mis ei tule läbi index.php
  • klassi tervitus laiendab CI_Controller {…} määratleb klassi tervitamise, mis laiendab vanemklassi CI_Controller
  • avalike funktsioonide register () määratleb avaliku funktsiooni, mida avalehe avamisel vaikimisi kutsutakse
  • $ this-> load-> view ('teretulnud_sõnum'); see rida laadib vaate welcome_message. Fail welcome_message asub kataloogirakenduses / views / welcome_message.php

Siiani oleme CodeIgniteriga uurinud ainult seda, mis karbist välja tuleb, proovime nüüd mõned muudatused teha. Loome oma kodulehe ja asendame vaikelehe

Looge uus fail rakenduses / views / home.php

Lisage järgmine kood saidile home.php

Hello CodeIgniter!

CodeIgniter Hello World

SIIN,

Ülaltoodud HTML-kood laadib Birma SSS-i raamistiku ja font CDN-võrgustikust loob väga lihtsa HTML-dokumendi. See rakendab Birma CSS-i raamistikust väga lihtsat CSS-reeglit.

Avage oma brauseris järgmine URL

http: // localhost: 3000 /

Peaksite nägema järgmist

Suurepärane, oleme just avalehte edukalt muutnud. Edasi liikudes määratleme oma marsruut. Oletame, et ka meie rakendus peab suutma näidata meie lehte.

Looge marsruut

Avage marsruutide failirakendus / config.routes.php

Lisage järgmine marsruut

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

SIIN,

  • Kui külastaja külastab URL-i / about-us, juhendame CodeIgniterit otsima kontrollerit Welcome ja käivitama meetod about_us.

Looge kontroller

Määratleme nüüd meie kohta kontrolleri meetodi

Avage rakendus / kontrollerid / Welcome.php

Lisage järgmine meetod

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

SIIN,

  • Ülaltoodud kood määratleb funktsiooni about_us ja laadib vaate about_us.

Looge vaade

Loome nüüd vaate, millele me just ülaltoodud jaotises viitasime

Looge uus fail about_us.php rakenduses / views / about_us.php

Lisage järgmine kood

About CodeIgniter!

About us yap…

Meil on hea minna, avage oma veebibrauseris järgmine URL

http: // localhost: 3000 / index.php / meie kohta

Näete järgmist lehte

Kui näete ülaltoodud lehte, siis palju õnne, olete CodeIgniteris lihtsa rakenduse edukalt loonud.

Kokkuvõte

Selles õpetuses käsitlesime kolme (3) peamist komponenti, mis moodustavad rakenduse CodeIgniter. Vaatasime marsruute ja nende määratlemist, kontrollereid ja kuidas luua marsruutitaotlustele vastavaid meetodeid ning lõime lihtsad vaated, mis tagastatakse kasutajatele ressursi taotlemisel.