staattiset sivut¶
huomautus: Tämä opetusohjelma olettaa, että olet ladannut Codeigniterin ja asentanut kehyksen kehitysympäristöösi.
ensimmäinen asia, jonka aiot tehdä, on säätää ohjain handlestatic-sivuille. Ohjain on yksinkertaisesti luokka, joka auttaa delegoimaan work.It on web-sovelluksen liima.
esimerkiksi, kun soitetaan:
voisimme kuvitella, että on olemassa ohjain nimeltä ”news”. Uutisiin kutsuttu menetelmä olisi ”uusin”. Uutismetodin tehtävä voisi olla tograb 10 Uutiset, ja tehdä ne sivulla. Hyvin usein MVC, näet URL kuvioita, jotka vastaavat:
URL-järjestelmien monimutkaistuessa tämä saattaa muuttua. Toistaiseksi meidän ei tarvitse tietää muuta.
Luo tiedosto osoitteeseen application / controllers / Pages.php kanssa seuraava koodi.
<?phpclass Pages extends CI_Controller { public function view($page = 'home') { }}
olet luonut luokan Pages
, jonka katselumenetelmä hyväksyy yhden argumentin nimeltä $page
. Pages
– Luokka laajentaaCI_Controller
– luokkaa. Tämä tarkoittaa, että uusi sivuluokka voi käyttää CI_Controller
– luokassa(system/core/Controller) määriteltyjä menetelmiä ja muuttujia.php).
rekisterinpitäjä on se, mistä tulee jokaisen web-sovelluksenne pyynnön keskipiste. Hyvin teknisissä CodeIgniter-keskusteluissa sitä ehkä kutsutaan superobjektiksi. Kuten minkä tahansa php-luokan, sitä kutsutaan ohjaimissasi nimellä $this
. $this
viittaa siihen, miten lataat kirjastot, näkymät ja yleensä komennat viitekehystä.
nyt kun olet luonut ensimmäisen menetelmäsi, on aika tehdä joitain perussivutemplaatteja. Luomme kaksi ”näkymää” (sivupohjia), jotka toimivat sivun alatunnisteena ja otsikkona.
Luo otsikko osoitteeseen application / views/templates / header.php ja lisätäseuraava koodi:
<html> <head> <title>CodeIgniter Tutorial</title> </head> <body> <h1><?php echo $title; ?></h1>
otsikko sisältää perus HTML-koodin, jonka haluat näyttää ennen päänäkymän lataamista, yhdessä otsikon kanssa. Se esittää myös $title
– muuttujan, jonka määrittelemme myöhemmin ohjaimessa.Nyt, luo alatunniste osoitteessa application / views/templates / footer.php, johon sisältyy seuraava koodi:
<em>© 2015</em> </body></html>
logiikan lisääminen ohjaimeen¶
aiemmin olet määrittänyt ohjaimen view()
– menetelmällä. Menetelmä hyväksyy yhden parametrin, joka on ladattavan sivun nimi. Static-sivupohjat sijaitsevat hakemistossa application / views/pages / directory.
luo kyseisessä hakemistossa kaksi tiedostoa, joiden nimi on home.php ja about.php.Kirjoita noihin tiedostoihin tekstiä − mitä tahansa haluat-ja tallenna ne.Jos haluat olla erityisen epä-alkuperäinen, kokeile ” Hello World!”.
näiden sivujen lataamiseksi on tarkistettava, onko pyydetty sivu todella olemassa:
public function view($page = 'home'){ if ( ! file_exists(APPPATH.'views/pages/'.$page.'.php')) { // Whoops, we don't have a page for that! show_404(); } $data = ucfirst($page); // Capitalize the first letter $this->load->view('templates/header', $data); $this->load->view('pages/'.$page, $data); $this->load->view('templates/footer', $data);}
nyt, kun sivu on olemassa, se ladataan, mukaan lukien otsikko andfooter, ja näytetään käyttäjälle. Jos sivua ei ole olemassa, näytetään virhe ”404Page not found”.
menetelmän ensimmäinen rivi tarkistaa, onko sivu todella olemassa.PHP: n natiivi file_exists()
funktiota käytetään tarkistamaan, onko fileis missä sen oletetaan olevan. show_404()
on sisäänrakennettu Codeignitertoiminto,joka antaa oletusvirhesivun.
otsikkomallissa $title
– muuttujaa käytettiin sivun otsikon muokkaamiseen. Tittelin arvo määritellään tässä menetelmässä, mutta sen sijaan, että arvo asetettaisiin muuttujan arvoksi, se annetaan otsikon alkuaineelle $data
array.
viimeinen asia, joka pitää tehdä, on näkymien lataaminen järjestykseen, jossa ne pitäisi näyttää. view()
– menetelmän toista parametria käytetään arvojen siirtämiseen näkymälle. Jokainen arvo $data
– arvossa on määritetty muuttujaksi, jonka avaimen nimi on. Niinpä arvo$data
ohjaimessa vastaa arvoa $title
theview.
reititys¶
ohjain on nyt toiminnassa! Osoita selaimesi kohtaanindex.php/pages/view
nähdäksesi sivusi. Kun käytindex.php/pages/view/about
, näet tietoja-sivun, sisältäen jälleen otsikon ja alatunnisteen.
mukautettujen reitityssääntöjen avulla sinulla on valta kartoittaa mikä tahansa URI mihin tahansa ohjaukseen ja menetelmään, ja vapautua normaalista käytännöstä:http://example.com///
tehdään niin. Avaa reititystiedosto osoitteessa application / config / routes.php ja lisää seuraavat kaksi riviä.Poista kaikki muut koodi, joka asettaa minkä tahansa elementin $route
– ryhmästä.
$route = 'pages/view';$route = 'pages/view/';
CodeIgniter lukee reitityssääntönsä ylhäältä alas ja reitittää ne ensimmäiseen vastaavuussääntöön. Jokainen sääntö on säännöllinen lauseke (vasen puoli) kartoitettu ohjaimen ja menetelmän nimi erotettu viilloilla(oikea puoli). Kun pyyntö tulee, CodeIgniter etsii firstmatch, ja kutsuu sopiva ohjain ja menetelmä, mahdollisesti witharguments.
lisätietoa reitityksestä löytyy Urin Reititysdokumentaatiosta.
tässä $route
rivin toinen sääntö täsmää jokerimerkkijonoa (:any)
käyttäviin pyyntöihin. ja siirtää parametrin view()
– luokkaan Pages
.
nyt käy index.php/about
. Reitittyikö se oikein view()
– menetelmään pages controllerissa? Mahtavaa!