Prima pagină pe kohana, studiu web

Deci, e timpul să scrie ceva din propriile lor. Să încercăm să creeze o pagină de start a viitorului blog.

Pentru a face acest lucru:

  • Șablonul Schița (VIEW Mărire) și dau seama ce datele dinamice dorim din sistem (de exemplu, controlerul)
  • Creați un controler, inițializa-l, toate datele pentru șablon.
  • Din moment ce dorim să utilizeze modelul, unele date din șablon vor fi preluate din baza de date (desigur, acest lucru va fi MySQL)

Creați șablon de pagină

Ca tema acestui tutorial nu este menit să discute complexitatea layout, vă dau doar un șablon pentru paginile proiectului nostru.







fișier stil CSS (șablon se va uita în dosarul /css/index.css):

După cum se poate vedea în variabilele php-șablon sunt inserate într-un mod standard - prin introducerea <.> (sau ). Acest lucru permite nu numai pentru a afișa valorile variabilelor, dar, de asemenea, pentru a verifica punerea în aplicare a condițiilor logice și executa cicluri. În general, o variabilă în șablonul poate fi orice, inclusiv un alt șablon. În cazul nostru, este conținutul $ variabila.

Ai putea folosi, de asemenea ajutoare, cum ar fi HTML pentru a construi o pagină (de exemplu, formarea de legături), dar eu personal mai ușor și de a folosi mai obișnuită tag-uri de marcare nativ.

Crearea unui model de achiziție a datelor

Din moment ce ne-am decis pentru a extrage date dintr-o bază de date, trebuie să creați un model. Desigur, conexiunea bazei de date și executarea de interogare și fezabil din controler, dar vrem să pună în aplicare MVC. Acest lucru înseamnă că operatorul este prea „importantă“ să se angajeze în mod independent, într-o astfel de muncă murdară. El are chiar să nu știe și în cazul în care datele sunt luate (dintr-o bază de date, și, eventual, a fișierelor).

Să creeze semne nepretențios:







Ce se întâmplă în această metodă? În primul rând, vom verifica de intrare (de exemplu, $ article_id), în cazul în care identificatorul nu este transmis sau nu este un număr, returnează FALSE. Apoi, face o selecție pe identificatorul. Noi folosim așa-numitul „Query Builder» (Database Query Builder. Descriere), vă permite să adăugați treptat termeni de interogare. Astfel, $ this-> DB> în cazul în care ( „article_id“, $ article_id) -> get ( „articole“) indică primul eșantion condiției (în cazul în care metoda), și apoi se execută interogarea (obține metoda cu un prim parametru - numele tabelului MySQL).

S-ar putea întreba în cazul în care a făcut obiectul $ this-> db. Vă rugăm să rețineți că am specificat $ parent :: __ construct () in constructorul modelului nostru. și anume a apela constructorul părintelui. Iar în constructorul clasei Model_Core (sistem / biblioteci / fișier model.php. Dacă sunteți interesat), aceasta este cea mai variabilă și inițializată în funcție de setările implicite (amintiți-vă aplicatiaFile / config / database.php). Dacă dorim să utilizăm alte setări de baze de date, este necesar să se efectueze inițializarea variabilei $ this-> db în constructorul părintelui de a apela, ca aceasta:

Ce se întâmplă dacă inițializa după constructor părinte, am pleca cu tine, ca o lucrare independentă ușor procesează în continuare mostrele pentru a nu transmite obiecte inutile. Metoda curentă () returnează recordul curent (prima implicit). În cazul în care nu există intrări, se returnează FALSE.

Ei bine, acum vom deveni expert Query Builder lui, iar a doua metodă nu ne oferă nici dificultăți în scris:

a crea un controler

Tot ce am scris mai sus, era necesar să se ia un cuvânt, pentru că nu avem care se leagă principal - controler. Corectați această supraveghere și prima dată se va contura cadrul clasei:

În constructor, ne umplem variabilele statice (o serie de referiri la sidebar'a $ meniuri) și inițializa modelul Article_Model. că, în viitor, fiecare metodă controler ar putea pur și simplu se referă la variabila $ this-> articol.

Indexul Implementare () Metoda:

Ce vedem? Este de umplere șablon variabila $ this-> șablon (pe care am creat mai devreme în acest articol index.php). Variabila de conținut $, la rândul său, este, de asemenea, un șablon (fișierul trebuie să fie în cererea / punctele de vedere / blog / articles.php) și are un articole de $ variabila (articole array). Doar pentru a obține o listă de articole, folosim modelul și Article_Model (care este disponibil pentru noi prin intermediul $ this-> articol).

Controler va termina de view_article ():

Cred că există deja clar. În cele din urmă dau sursa a două noi șablon (application / vizualizări / blog / article.php și aplicarea / opinii / blog / articles.php):