Pull to refresh

Использование Zend_Tool

Reading time3 min
Views2.1K
Zend Framewrok Application

Zend Framework таки идет по пути старших братьев по разуму — Zend Tool поможет Вам в быстром создании проекта на основе ZF.


Для начала нам понадобится скачать Zend Framework с сайта разработчиков, или воспользоваться SVN репозиторием (из всего этого добра нам нужна папка bin и library/Zend, остальное пока не понадобится):

~$ svn co http://framework.zend.com/svn/framework/standard/trunk/bin/ ./bin
~$ svn co http://framework.zend.com/svn/framework/standard/trunk/library/Zend ./library/Zend


Примечание: если Вы true-линуксойд и частенько создаете проекты на ZF — то закиньте файл zf.sh в /usr/bin (или любой иной путь, где система сможет его найти), а папку Zend туда, где у Вас прописан include_path для PHP (выполните команду php -i |grep include_path)


У нас должна получиться следующая структура каталогов:

htdocs
|-- bin
|   |-- zf.bat
|   |-- zf.php
|   `-- zf.sh
`-- library
     `-- Zend


Теперь открываем консоль идем в директорию htdocs и набираем:
# не забываем chmod a+x ./bin/zf.sh
~$ ./bin/zf.sh create project ./


Примечание: утилита тестировалась под Linux, есть вероятность, что под Windows тоже будет работать (используйте zf.bat)


После этого у нас должен быть создан проект, и зайдя на страничку Вы должны увидеть что-то похожее на картинку в самом начале статьи. Структура каталога будет выглядеть следующим образом:

htdocs
|-- application
|   |-- Bootstrap.php
|   |-- configs
|   |   `-- application.ini
|   |-- controllers
|   |   |-- ErrorController.php
|   |   `-- IndexController.php
|   |-- models
|   `-- views
|       |-- helpers
|       `-- scripts
|           |-- error
|           |   `-- error.phtml
|           `-- index
|               `-- index.phtml
|-- library
|-- public
|   `-- index.php
`-- tests
    |-- application
    |   `-- bootstrap.php
    |-- library
    |   `-- bootstrap.php
    `-- phpunit.xml


Идем дальше — создадим контроллер и экшены:
# создаем контроллер users и два экшена
~$ ./bin/zf.sh create controller users
~$ ./bin/zf.sh create action login users
~$ ./bin/zf.sh create action logout users


Смотрим на результат (файл UsersController.php):
<?php
class UsersController extends Zend_Controller_Action
{
    public function init()
    {
        /* Initialize action controller here */
    }
    public function indexAction()
    {
        // action body
    }
    public function loginAction()
    {
        // action body
    }
    public function logoutAction()
    {
        // action body
    }
}


Для каждого action'а будет создан практически пустой view скрипт:
<br /><br /><center>View script for controller <b>users</b> and script/action name <b>login</b></center>


Примечание: Если папка public не является корневой — то добавьте в файл «/public/.htaccess» правило «RewriteBase /public/» после «RewriteEngine On»


Кроме данного функционала еще есть следующие «возможности»:
  • Создание класса для юнит тестов, включение/выключение оных — провайдер test не распознается утилитой
  • Создание view — ругается и ничего не создает, исправление ошибки в классе влечет за собой еще больше ошибок


В TODO у разработчиков:
  • Генератор моделей — хотелось бы посмотреть на организацию «правильной» модели с учетом последних изменений в фреймворке
  • Генератор форм — интересно, должна же быть связь с моделью, думаю будет вкусно


Полезные статьи:


Ссылка на пост в блоге: Использование Zend_Tool
Tags:
Hubs:
+25
Comments29

Articles