Първа страница на Kohana, учи в интернет

Така че, това е време да напиша нещо за себе си. Нека се опитаме да се стартира нов бизнес страница на бъдещата си блог.

За да направите това:

  • Скица шаблон (VIEW Увеличи) и да разбера какви са динамичните данни искаме от системата (т.е. контролера)
  • Създаване на контролер, той се инициализира, всички данни за шаблона.
  • Тъй като искаме да използва модела, някои данни в шаблона ще бъдат взети от базата данни (разбира се това ще бъде MySQL)

Създаване на страница шаблон

Тъй като темата на този урок не е предназначен за обсъждане на тънкостите на оформлението, просто ви даде шаблон за страниците на нашия проект.







файл CSS стил (шаблон ще изглежда в /css/index.css папка):

Както можете да видите в променливите на PHP-шаблон се поставят по стандартния начин - чрез вмъкването <.> (или ). Това позволява не само да се покажат стойностите на променливите, но също така да се провери изпълнението на логически условия и изпълнение на цикъла. Като цяло, една променлива в шаблона може да бъде всичко, включително и друг шаблон. В нашия случай това е променливо съдържание на $.

Вие също може да се използва помощници като HTML за изграждане на страницата (например, образуването на връзки), но аз лично по-лесно и по-обичайното използване на родния маркиране тагове.

Създаване на модел за събиране на данни

Тъй като ние решихме да се извлекат някои данни от база данни, трябва да се създаде модел. Разбира се, свързването към базата данни и за изпълнение на заявки и осъществими от контролера, но ние искаме да се приложи MVC. Това означава, че контролерът е твърде "важни" за независимо упражняват такава мръсна работа. Той дори няма да разбере как и къде не е взето на данни (от база данни, а вероятно и на файловете).

Нека създадем непретенциозни признаци:







Какво се случва в този метод? На първо място, ние проверяваме входа (т.е. $ article_id), ако идентификаторът не се предава или не е число, то се връща FALSE. На следващо място, да направите избор на идентификатора. Ние използваме т.нар "Query Builder» (База данни за заявки Builder. Описание), тя позволява да се постепенно добавите заявки. По този начин, $ това-> db-> където ( "article_id", $ article_id) -> получават ( "членове") показва първата проба на състоянието (където методът), а след това се изпълнява заявката (получите метод с параметрите на първия - името на таблицата MySQL).

Някой може да попита откъде това-> db на обекта $. Моля, имайте предвид, че ние посочено $ родител :: __ конструкция () в конструктора на нашия модел. т.е. се обади строителя родител. И в конструктора на класа Model_Core (система / библиотеки / model.php файл. Ако проявявате интерес) това е най-променлива и инициализира на базата на настройки по подразбиране (не забравяйте заявление / довереник / database.php файла с). Ако искате да използвате друга база данни, настройки, е необходимо да се извърши инициализация на променливата $ this-> db в конструктора на родителя да се обадя, като този:

Какво ще се случи, ако го инициализира след строителя родител, ви оставям като независима работа малко по-нататък обработва пробите, за да не се предава на ненужни обекти. текущия метод () връща текущия запис (първият по подразбиране). Ако няма записи, той се връща FALSE.

Е, сега ще стане професионалист Query Builder е, а вторият метод не ни предостави никакви трудности при писане:

създаване на контролер

Всичко, което съм написал по-горе, че е необходимо да се вземат една дума, защото ние нямаме че основната връзка - контролер. Коригирайте този надзор и първи отново ще очертае рамката на клас:

В конструктора, ние се запълнят статични променливи (масив от препратки към sidebar'a $ менюта) и инициализира Article_Model модел. че в бъдеще всеки метод контролер може просто да се обърнете към променлива $ това-> статията.

индекс изпълнение () метод:

Какво виждаме? Е попълването променлива шаблон $ това-> шаблон (че ние създадохме по-рано в тази статия index.php). Променливата $ съдържание, от своя страна, също е шаблон (файла трябва да е в заявление / възгледи / блог / articles.php) и има променлива $ статии (статии масив). Просто за да получите списък от статии, ние използваме модела и Article_Model (която е на разположение, за да ни чрез $ това-> статията).

Контролер ще завърши с view_article ():

Мисля, че вече е ясно. Най-накрая даде източник на два нови шаблона (приложение / възгледи / блог / article.php и прилагане / възгледи / блог / articles.php):