Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Разработка консольных приложений с ZendFramewor...

fwdays
November 14, 2011

Разработка консольных приложений с ZendFramework 2.0

fwdays

November 14, 2011
Tweet

More Decks by fwdays

Other Decks in Programming

Transcript

  1. Console Applications with ZF 2.0 Алексей Качаев Senior Software Engineer,

    Cogniance kachayev [at] gmail.com @kachayev http://github.com/kachayev http://codemehanika.com
  2. Схема работы  Что такое и зачем, разбор кейсов 

    Консольное приложение в разрезе  Реализация базовых аспектов с ZF1.*/2.0  Продвинутые техники и подходы  Прим. 1: more linux  Прим. 2: dev mode
  3. Когда это нужно?  Администрирование приложения (start, restart, status, evn

    management etc)  Процедуры деплоймента  Выполняемые по времени задачи  То, что не требует внешнего доступа  Везде, где консоль покрывает требования =)
  4. Почему?  Меньше инфраструктуры  Меньше кода  Меньше багов

    =)  Reusable Аналоги и заменители? wget -O — http://webserver/supercontroler/superaction?some=params
  5. Попрактикуемся?  администрирование пользователей: – просмотреть статистику, – отфильтровать по

    критериям, – получить информацию о пользователе, – «забанить» по идентификатору  управление notification-ами: – просмотреть шаблон по названию, – отправить сообщение
  6. Консольное приложение в разрезе  Особенности среды выполнения: php-cli (пользователи!),

    env, superglobals  stdin, stdout, stderr  Параметры вызова  Вывод результатов и форматирование  Интерактивное взаимодействие и диалоги
  7. Zend\Console\Getopt  Arguments, short/long options  Cumulative params and options

     Freeform params  Numeric options  Usage message  https://github.com/zendframework/zf2/blob/master/tests/Zend/Console/GetoptTest.php
  8. Архитектура Zend\Tool\Framework  все тот же MVC  «единая точка»

    входа и роутинг  Manifest, Provider  Request/Response  Help System
  9. ZF2.0 RFC  http://framework.zend.com/wiki/display/ZFDEV2/RFC+-+CLI  Компонент Zend\Console: – Парсинг параметров

    – Вывод данных в stdout, stderr – OS env – Interactive input  Компонент Zend\Cli – Структура аналогична Zend\MVC, bootstrap – application, request, response – Mvc-like router (возможно с двойственной диспечирезацией) – Help system