Основи с рамка Zend (2

Добър ден на всички гости ruseller.com сайт. Днес ние продължаваме нашата практическа представа за един от най-модерните и популярни PHP freymvorkov - Zend Framework. В днешния урок, който ще приложи просто приложение, Zend, а именно: създаване на оформление, научете как да си взаимодействат с моделите (бази данни), формуляри и други характеристики правят.

На първо място, бих искал да ви напомня, че ние създаваме просто приложение за създаване на Zend подаване на любимите ни филми. За да сте сигурни, че са добре ориентирани в този урок, ви предлагам да прочетете първата част на нашата поредица от уроци - "основите на работата с Zend Framework (1/3) - Инсталиране и създаване на проект."

Така че, в този момент трябва да имате създаден Zend Framework приложение се състои от един-единствен администратор - Index, и четири действия - индекс, добавяне, редактиране, изтриване.

Създаване на бази данни и таблици

За да можем да бъдем много работа, за да създадете таблица и я напълнете с информацията:

За свързване към база данни обикновено използвате db.php на файла или нещо подобно. В Zend Framework, за тази цел има отделен файл - application.ini, който е в директорията на вашия zfdemo \ заявление \ конфигурации за проекта \ application.ini. Отидете до сегмента на развитие ([производство развитие.]), И поставете следния код:

PDO_MYSQL - адаптер, който ще използваме за работа с бази данни. Ако някога сте работили с бази данни, до следните опции ще са ви познати.

Сега, за да си взаимодействат с новосъздадената масата, ние трябва да се създаде модел. Ние правим това с помощта на Zend Tool (инсталация и конфигурация на инструмента е описано подробно в предишна статия). Отворете конзола или командния ред. Отидете до директорията на вашия проект (по желание). Сега въведете следната команда:

След като изпълните тази операция, ще се създаде нова директория (приложение / модели / DbTable) и Movies.php файл. Отворете този файл и го напълнете със следното съдържание:

Ние току-що създаденият модел с много дълъг Application_Model_DbTable_Movies име. Това име трябва да бъде в съответствие с правилата на строителството на проекта. Факт е, че когато ние се създаде обект от този модел, Zend Framework трябва да определи какъв вид файл, той да се свърже. Това име клас показва, че моделът е в директорията на приложенията / модели / db-масата, и самия модел се нарича Movies.php. По този начин, Zend Framework ще се свърже автоматично този модел.

Ако сте забелязали, нашият модел е наследен от клас Zend_Db_Table_Abstract. Благодарение на това наследство можем да използваме методите вмъкнете (), обновяване (), изтриване (), fetchRow (), fetchAll () и много други.

Сега, когато всичко, което е необходимо да се работи с базата данни е готова, се пристъпи към създаването на оформление.

Създаване на Layout

Както можете да видите от първата статия, всеки контролер има серия от действията му, всеки от които на свой ред има свой собствен изглед. Ако отворите всеки изглед, нека заявление \ гледания \ скриптове индекс \ edit.phtml \, няма да виждат типа на документа, или мета тагове ... Може да попитате: "За какво да пиша във всеки файл тип документ»?. Отговорът - разбира се, че не! За тази цел има Zend Framework Layout.

Отворете конзола или командния ред на и да стигнете до вашия проект директория. За да създадете оформление, въведете следната команда:

След изпълнението на тази команда, нова линия ще се появи в application.ini:

Под този ред, се добавя следният текст, който казва, прилагането как да се използва документ от тип:

За да се премахне напълно с декор в публичен указател създадете папка и CSS файл site.css:

Създаване на форми

За да се вгради информация в база данни, ние трябва да се създаде форма, чрез която потребителят ще въведе своите данни. Отворете командния ред, промяна в директорията на вашия проект и въведете следната команда:

Заради наследството от Zend_Form ние сме в състояние да създаде ефективен и безопасен вид.

Zend Framework предоставя класове за всички елементи на HTML форми. В тази програмка, която сме създали 4 форма елемент. Един скрити, 2 текстови полета и натиснете бутона.

Ако се кредитира с един и същ елемент на множество валидаторите, това е полезно за вас втори параметър на addValidator на метод. Ако този параметър е вярно, това означава, че ако не успее валидирането, последващите проверки няма да се проведат върху елемента.

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

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

Изпълнение на CRUD

Показва списък с филми

Отворете IndexController контролер, който е в заявление / контролери директория и поставете следния метод:

В този пасаж имаме всички от любимите ни филми и да ги превърнат в изглед, в които ще се отнасят до тях, в променливите $ това-> филмите. Index.phtml отворите файл, който се намира в молбата \ гледания \ скриптове \ индекс и поставете следния код:

Този метод използва бягство фрагмент като филтър. Сега, ако сте направили всичко правилно, www.zfdemo.web / индекс страница / индекс, трябва да видите списък с филми.

Създаване на нов филм

Отворете IndexController и поставете друг метод:

Първо, ние се създаде форма обект и го предаде на гледката. По-долу е кодът, който проверява валидността на попълнения формуляр. Ако потребителят е влязъл добре, поставете го в базата данни. Ако не, потребителят ще има възможност да се коригират грешките. Open add.phtml файл. Добавете следния код:

редактиране на филма

Добавете следния код в IndexController:

Този фрагмент не е много различен от предишния. Разликата само в края на краищата. За да попълните формата на текст, ние го изрежете с метод getMovie (), ние писахме. Open edit.phtml файл и поставете кода:

Премахване на филм

Отворете IndexController да добавите последния метод:

В този файл се печата формата за потребителя, за да потвърдите желанието си да го премахнете.

заключение

В този урок вие научихте от създаването на оформлението, форми и модели. Сега имате по-ясна представа трябва да се появи на това как да създават приложения за рамка Zend. Следващата седмица ще ви покажа как да създадете Zend удостоверяване средства.

На тази Имам всичко, но не забравяйте, че ...

Най-новите уроци по Рамковата Zend, можете да намерите само тук, на сайта Ruseller.com

5 урока последната колона "PHP"

Когато става въпрос за сигурността на уеб сайт, фразата "Да се ​​филтрират всички, избяга всичко" винаги ще бъде от значение. Днес нека да поговорим за филтриране на данните.

  • Изразителен 2 поддържа връзка с други компоненти за специален режим на ZF. Не всеки харесва решението. В тази статия ще обсъдим как да се подобри процесът на свързване на няколко модула.

  • Да предположим, че трябва да изпратите информация за Google Анализ от страна на сървъра скрипт. Как да го направя. Отговорът в тази статия.

  • Селекция от няколко вида PHP пясък. На някои ви в онлайн режим ще бъде в състояние да тествате вашия код, но има и решения, които могат да бъдат приложени в сайта си.

    Имам проблем с кодирането, когато извадка от базата данни на MySQL! На страница набор windows-1251, как се прави това, когато също се формира извадка от базата, същото кодиране! Знам, че може да направи mysql_query ( "SET NAMES cp1251") теглене, но как да го приложат в Zende?

  • Помощ! Бих искал да се научат, но остана. Аз разбирам, че кодировки на въпроса, но съзнанието (опит), за да се направи, не е достатъчно. Приложението работи, но се появява руски информация от базата данни. Английски - нормално. Когато ръчно въвеждане на руски: появява нещо, но нещо - не. Но, в същото време, информацията в базата данни в krakazyabrah. Bukovki за оттегляне, както аз го разбирам, намалява бягство (функция) в movie.phtml. Помощ! (Изглежда, че същия проблем като този на neOh в предишния пост)

  • Самият отговоря: resources.db.params.charset = "UTF8" постави в application.ini и Zend комуникира с основата на само UTF8.

  • Не мога да се свърже с базата данни. Аз правя всичко като теб е описано, но им е трудно DENVER. Самият двигател е започнало, но когато минават покрай втория урок - че дава "Възникнала е грешка, грешка Заявление". Може ли някой да ми каже как да бъда тук. ЗНП разширение в PHP Имам си струва. версия php5.2.12. probyval просто стартирате изходния код - той не работи. "Възникна грешка Грешка в програмата" (((вече трети ден притесняваше

    Имам една и съща грешка, но няма публична папка .htaccess файл, изтеглете източник на урока там, то не е, можете да се хвърлят на съдържанието на файла?

  • khaletskiy

    5+ от мен за урока. Не казвам, че аз научих много. Само за качествен подход.

  • Моля, обяснете защо моделът е създаден в папката DbTable? Не е ли по-лесно да се създаде всички модели, по най-папка модели? Също така поставя под въпрос дали е възможно да се създадат модели и контролери, без да се използват Zend Tool? Подобно нещо сложно, но аз забелязах, че когато използвате инструмента Zend направи някои промени в .zfproject.xml.

  • "Създаване на бази данни и таблици За да можем да бъдем много работа, за да създадете таблица и я напълнете с информацията:" Въпросът е къде точно трябва да бъде кодът, който файл? Не мога да разбера.

  • $ Това-> панорама-> филми = $ телефони-> fetchAll (); ако се обадите на var_dump ($ телефони-> fetchAll ()), а след това аз имам един куп в масив от над отломки (INFA на масата.), това е нормално?

  • Имам съобщение за грешка: Не е намерен Application_Model_DbTable_Movies адаптер, но в публичната папка не разполага с .htaccess файл, изтеглете източник на урока там, то не е, можете да хвърлят съдържанието на файла?

    Основи с рамка Zend (2

    До получаване на информация от два канала (зрение и слух) на ефективността на обучението далеч по-добър живот от книги. А домашните задачи и онлайн тестове ще ви позволи да мисля постоянно в целевия език и веднага провери знанията си!

    Основи с рамка Zend (2

    Основи с рамка Zend (2

    Ако искате по-дълго време, за да проучи как да се HTML, че ме има, за което трябва добра новина!

    Основи с рамка Zend (2

    Ако вече сте се научили HTML и искат да се движи напред, следващата стъпка ще бъде да се проучи CSS технологията.

    Основи с рамка Zend (2

    Ако искате да се разбере концепцията на домейн и хостинг, да научат как да се създаде база данни, да качвате файлове към уеб сайт чрез FTP сървър, създаване на поддомейни, да конфигурирате пощенските кутии за сайта и мониторинг на посещаемостта, този курс е разработен специално за вас!