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

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

Avatar for fwdays fwdays
November 14, 2011

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

Avatar for fwdays

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