Első oldalon Kohana, tanulmányozza a web
Tehát, itt az ideje, hogy írjon valamit a saját. Próbáljunk létrehozni egy kezdőoldalt a leendő blog.
Ehhez:
- Vázlat sablon (VIEW Nagyítás) és kitalálni, hogy mi az a dinamikus adatok szeretnénk a rendszert (azaz a vezérlő)
- Hozzon létre egy vezérlő, inicializálja az összes adatot a sablont.
- Mivel azt szeretnénk, hogy használja a modell, néhány adat a sablon kerül sor az adatbázisból (természetesen ez lesz MySQL)
Oldal létrehozása sablon
Mivel a téma a bemutató nem célja, hogy megvitassák a bonyolult az elrendezés, csak kapsz egy sablont az oldalakon a projekthez.
CSS-stílus fájlt (sablon fog kinézni /css/index.css mappa):
Mint látható, a php-template változók kerülnek be egy standard módon - a beszúrási <.> (vagy ). Ez lehetővé teszi, hogy ne csak megjeleníti a változók értékeit, hanem hogy ellenőrizze a végrehajtását szolgáló logikai és végre ciklus. Általában egy változót a sablon bármi lehet, akár egy másik sablont. A mi esetünkben ez a változó $ tartalmat.
Akkor is hasznos segítők, mint a HTML, hogy építsenek egy oldalt (például a kialakulását a linkeket), de én személy szerint könnyebb és szokásos használat natív címkéket.
Hozzon létre egy modellt adatgyűjtő
Mivel úgy döntöttünk, hogy kivonat néhány adatokat egy adatbázisból, akkor létre kell hozni egy modellt. Természetesen az adatbázis-kapcsolat és a lekérdezés végrehajtása és megvalósítható a vezérlő, de azt akarjuk, hogy végre MVC. Ez azt jelenti, hogy a vezérlő túl „fontos”, hogy önállóan vegyenek részt az ilyen piszkos munkát. Még kell nem tudják, hogyan és hol adatokat vettük figyelembe (egy adatbázisból, és esetleg a fájlok).
Hozzunk létre szerény jelei:
Mi történik ebben a módszerben? Először vizsgáljuk meg a bemeneti (azaz $ article_id), ha az azonosítót nem továbbított vagy nem szám, FALSE. Ezután egy válogatást az azonosító. Használjuk az úgynevezett „Query Builder» (Database Query Builder. Leírás), ez lehetővé teszi, hogy fokozatosan hozzá lekérdezés szempontjából. Így a $ this-> db-> ahol (article_id ', $ article_id) -> get ( „cikkek”) jelzi az első mintát a feltétel (ahol a módszer), majd végrehajtja a lekérdezést (get metódus egy első paraméter - a tábla neve MySQL).
Felmerül a kérdés, hol az objektum $ this-> db. Felhívjuk figyelmét, hogy meghatározott $ parent :: __ construct () a kivitelező a modell. azaz nem hívja a szülő kivitelező. És az osztály konstruktor Model_Core (system / libraries / model.php fájlt. Ha érdekel), ez a legváltozatosabb és inicializálja az alapértelmezett beállítások (emlékszik a application / config / database.php fájl). Ha azt akarjuk, hogy más beállításokat tárol, akkor végre kell hajtani az inicializálás a változó $ this-> db a kivitelező a szülő, hogy hívja, mint ez:
Mi történik, ha inicializálása után szülő konstruktor hagyok rátok, mint önálló munka kissé tovább feldolgozza a mintákat, és nem továbbítja a felesleges tárgyakat. current () metódus visszaadja az aktuális rekord (az első az alapértelmezés). Ha nincsenek bejegyzések, FALSE.
Nos, most mi legyen jártas Query Builder „s, és a második módszer nem ad számunkra semmilyen nehézség írásban:
hozzon létre egy vezérlő
Minden, amit fentebb írtam, szükség volt arra, hogy egy szó, mert nincs, hogy a fő kapcsolat - vezérlő. Helyes ez a felügyelet és az első újra felvázolja keretében osztály:
A kivitelező, akkor töltse ki a statikus változók (tömb hivatkozások sidebar'a $ menük) és kezdeti Article_Model modell szerint. hogy a jövőben minden adatkezelő módszer lehet egyszerűen csak utalhat a változó $ this-> cikket.
Megvalósítás index () módszer:
Mit látunk? Tölti ki a sablon változó $ this-> template (amit korábban létrehozott ebben a cikkben index.php). A $ content változót, viszont az is egy sablont (a fájlt kell az application / views / blog / articles.php) és egy változó $ cikkek (cikkek array). Csak azért, hogy egy listát a cikket, akkor használja a modell és Article_Model (ami elérhető számunkra a $ this-> cikket).
Vezérlő befejezni view_article ():
Azt hiszem, van már világos. Végül így a forrás két új sablon (application / views / blog / article.php és application / views / blog / articles.php):