Ази роботи з zend framework (1

Доброго времени суток користувачі ruseller.com! Я щасливий, уявити вам серію уроків по одному з самим популярних PHP фреймворков - Zend Framework. Ви звичайно ж не раз чули про це потужний інструмент розробки web-додатків, про MVC та інших фічах. Настав час практики.

Якщо ви вперше чуєте про Zend Framework, то раджу вам пробігтися по статті "10 чарівних причин використовувати Zend Framework". яка яскраво демонструє переваги даної бібліотеки.

Ще пару слів від себе перед тим як почнемо. Я вважаю що Zend Framework це прекрасний інструмент для створення професійних проектів на PHP. Він розроблений самими творцями мови PHP і використовується не тільки в "домашніх" цілях, але і при розробці великих проектів.

Для тих з вас, хто вважає, що писати проекти на Zend Framework легше, ніж на чистому PHP, я відразу хочу сказати що це не так. Спочатку буде дуже складно, тому що вам належить зрозуміти нову концепцію архітектури веб-додатків MVC і багато іншого. Загалом приготуйтеся подивитися на PHP з іншого боку! З тієї, з якою ви його ще не бачили!

Ну що ж, найкраща теорія це практика! Так що вперед!

вступ

На момент написання статті, використовувалася версія Zend Framework 1.11.4

У цьому уроці ми познайомимося з Zend Framework, а саме:

  • Встановимо і сконфігуріруем всі необхідні інструменти (Zend Tool, налаштуємо віртуальний Host);
  • Визначимося з проектом, який будемо реалізовувати;
  • Познайомимося з концепцією MVC;

Що необхідно для функціонування Zend Framework:

  • PHP 5.2.4 (або будь-яка більш нова версія);
  • Підтримка mod_rewrite web сервером;
  • Підтримка .htaccess (для того, щоб активувати підтримку .htaccess. В файлі конфігурації Apache httpd.conf. Рядок AllowOverride None, необхідно замінити на AllowOverride All)

Установка Zend Framework і Zend Tool

1. Завантажуємо останню версію Zend Framework

  • Скачайте останню версію пакету Zend Framework 1.11.X Full;
  • Витягуємо з архіву весь вміст;

2. Переносимо вміст архіву

3. Конфігуріруем Zend Tool

  • Натисніть правий клік на іконці «Комп'ютер» в панелі пуск (Windows 7) і виберіть пункт «Властивості».
  • У лівій частині панелі виберіть пункт «Додаткові параметри системи».
  • У вікні, натисніть кнопку «змінні середовища».
  • Далі в списку системні змінні, шукаємо змінну Path і робимо на ній подвійний клік. Перед вами повинно відкритися наступне вікно.

Ази роботи з zend framework (1

4. Перевірка роботи Zend Tool

  • Відкрийте командний рядок. Натисніть клавіші Windows-> R. У вікні, наберіть команду cmd;
  • У командою рядку наберіть zf і натисніть Enter. Після цього перед вами з'явиться список всіляких команд, деякі з яких ми розглянемо в даному уроці. Якщо цього не відбулося, значить ви невірно сконфигурировали Zend Tool.

5. Прописуємо Zend Framework в php.ini

От і все. Ми тільки що встановили Zend Framework, сконфигурировали Zend Tool і готові приступити до створення нашого нового проекту.

проектуємо додаток

id integer Not Null Primary key

title varchar (100) Not Null

director varchar (100) Not Null

Так само нам знадобляться наступні сторінки:

Головна - на якій буде відображати список фільмів

Додавання запису - сторінка, що містить форму додавання нового фільму

Редагування запису - сторінка редагування фільму

Видалення запису - видалення фільму з БД

створення проекту

Відкрийте термінал або консоль і перейдіть в каталог, який є коренем вашого сайту (root папку). У моєму випадку це C: \ wamp \ www. Якщо ви є власником Linux або його дистрибутивів, до і після створення проекту переконайтеся, що для вашого користувача і web сервера були виставлені права на запис.

zf create project zfdemo

Якщо тепер ви подивіться на вміст кореневого каталогу сайту, то побачите безліч папок і файлів, які були створені інструментом Zend Tool. Цей на перший погляд хаос є структурою Zend Framework проекту. Без Zend Tool вам би довелося створювати все це руками.

Папка application це ядро ​​нашого майбутнього сайту. Там будуть розташовуватися всі коди, що відповідають за роботу web-додатки. В каталозі application ви знайдете інші папки концепція яких вже давно на слуху: controllers, models, views.

Папка library може містити саму бібліотеку Zend, але не тільки. Туди можна закидати будь-які інші бібліотеки, які можуть знадобитися вам при розробці вашого сайту.

Всі інші каталоги будемо розглядати в міру потреби.

Налаштування віртуального хоста

Для більш детального ознайомлення зі створенням віртуального хоста рекомендую ознайомитися з статтею "Налаштування віртуального хоста в WAMP"

Для настройки віртуального хоста виконайте наступні кроки:

Рушайте в c \ windows \ system32 \ drivers \ etc \ hosts або / etc / hosts якщо у вас Linux і внесіть рядки:

Якщо ви не побачите наступного картинки, то значить, що щось не так з шляхами або правами:

Ази роботи з zend framework (1

Пару слів про середовищах розробки

Тепер я б хотів пояснити рядок SetEnv APPLICATION_ENV development, яку ми вписали в наш віртуальний хост.

Варіант 1. На локальному хості

  1. Zend додаток завантажується, шукає середу розробки.
  2. Віртуальнией хост, який ми налаштували каже, що середовище розробки development.
  3. Zend підвантажує секцію development, де знаходяться дані для роботи з локальною БД

Варіант 2. На хостингу

  1. Zend додаток завантажується, шукає середу розробки - не знаходить.
  2. Zend за замовчуванням визначає середовище розробки production.
  3. Zend підвантажує секцію production, де знаходяться дані для роботи з БД на хостингу.

Сподіваюся, тепер вам ясніше що таке середовища розробки.

Знайомимося з контролерами, екшен і в'ю

У Zend Framework контролери це спеціальні класи зі строгим правилом найменування. Тут взагалі все дуже строго і суворо. Наприклад ім'я контролера має бути складено таким чином: Controller. Наприклад: IndexController, ErrorController, UserController і т.д. Назва контролера має починатися з великої літери. Всі контролери повинні розташовуватися в папці application / controllers.

Кожен контролер включає в себе набір дій або іншими словами actions. Action це функція з модифікатором доступу public, яка представляє собою сторінки вашого сайту. Називаються вони теж строго: Action. Наприклад indexAction (), printAction () і т.д. Назва дії починається з великої літери!

Ази роботи з zend framework (1

Давайте експериментувати:

Зайдіть в папку application / controllers. Всередині цієї папки повинно бути 2 файли. IndexController і ErrorController. Ці контролери були сформовані коли ви створювали проект за допомогою Zend Tool. Відкрийте IndexController.

Ми бачимо, що в IndexController є 2 методи: _init () і indexAction. Функція init викликається кожен раз при запуску контролера. indexAction () це функція представляє з себе сторінку сайту. Щоб переконатися в цьому внесіть в функцію indexAction наступний рядок:

Пройдіть в папку application \ views \ scripts \ index і відкрийте файл index.phtml

У цьому файлі знаходиться все те, що ви бачите на сторінці. Видаліть весь вміст файлу index.phtml і перезавантажте сторінку www.zfdemo.web / index / index або просто www.zfdemo.web / index / тому indexAction запускається за замовчуванням. Тепер на сторінці повинно бути тільки наше повідомлення "Я в IndexController, в indexAction. "

Загальна концепція роботи по схемі Model-View-Controller:

  1. Контролер викликає модель;
  2. Модель витягує дані з бази і повертає в контролер;
  3. Контролер обробляє отримані дані і передає в view (подання);
  4. Подання виводить всі дані;

Для того щоб реалізувати наш проект нам необхідно створити кілька action.

створення Actions

Відкрийте консоль або термінал і пройдіть в папку, де міститься ваш сайт (Обов'язково саме в цю папку). У нашому випадку це C: \ wamp \ www \ zfdemo. Набирайте команди:

Якщо ви все зробили правильно, то тепер у вас повинен бути налаштований Zend проект до реалізації якого ми повернемося в наступному уроці.

На цьому я мабуть закінчу наш урок-знайомство. Налаштуйте Zend Framework і все необхідне для його роботи. Дякуємо за увагу.

5 останніх уроків рубрики "PHP"

Коли мова йде про безпеку веб-сайту, то фраза "фільтруйте все, екрануйте все" завжди буде актуальна. Сьогодні поговоримо про фільтрації даних.

  • Expressive 2 підтримує можливість підключення інших ZF компонент за спеціальною схемою. Не всім подобається це рішення. У цій статті ми розповімо як поліпшили процес підключення декількох модулів.

  • Припустимо, що вам необхідно відправити якусь інформацію в Google Analytics з серверного скрипта. Як це зробити. Відповідь в цій замітці.

  • Підбірка з декількох видів PHP пісочниць. На деяких ви в режимі online зможете потестить свій код, але є так само рішення, які можна впровадити на свій сайт.

    Важкий framework, CodeIgniter в рази зручніше! Мінімум налаштувань і все чітко.

    Взагалі не згоден. Працював з багатьма різними php framework-ами, багато років. Майже на кожному з них випустив проект. Останні 3-4 роки використовую тільки zend. Згоден з думкою що він важкий. Та ні важче його і бути не може. Перш ніж писати про розмір і вагу бібліотеки подивіться її можливості. Скажіть мені у якого фреймворка є повне апі goole, Yahoо. Що маю на увазі? У цього фреймворка є на майже на всі апі свої класи прошарку. І хочу сказати що працюючи з цим функціоналом не потрібно замислюватися про те який милицю потрібно зробити (як це виходить з іншими фреймворками). Я не фанат zend-a, зараз використовую багато різних фреймворків, але вже точно не CodeIgniter. Дякуємо за увагу.

  • Олексій Корольов

    Цікавий фреймворк, розміщуйте по більше матеріалів по Зенден!

    Ти на на офф. сайт зайди там начебто російською документація навіть є. )

  • Ази роботи з zend framework (1

    За рахунок отримання інформації відразу по двох каналах (зір і слух) ефективність навчання значно перевершує навчання по книгах. А домашні завдання і онлайн-тести дозволять вам постійно думати на мові, що вивчається і відразу перевіряти свої знання!

    Ази роботи з zend framework (1

    Ази роботи з zend framework (1

    Якщо ви давно хочете як слід вивчити HTML, то у мене для Вас є чудова новина!

    Ази роботи з zend framework (1

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

    Ази роботи з zend framework (1

    Якщо ви хочете розібратися з поняттями домену і хостингу, навчитися створювати бази даних, закачувати файли сайту на сервер по FTP, створювати піддомени, налаштовувати поштові скриньки для свого сайту і стежити за його відвідуваністю, то цей курс створений спеціально для вас!