2008-03-01

XML-RPC в Zend Framework 1.5 RC1

На днях разрабатывал для одного проекта тестовое API на основе XML-RPC. Конечно-же нужно было создать тестовую модель. Так как под рукой всегда есть PHP, я естественно взял Zend Framework 1.5 RC1 и посмотрел, что в нём есть по плану XML-RPC. Оказалось есть - Zend_XmlRpc, как клиент, так и сервер. Если посмотреть на примеры в документации - всё легко, просто и прозрачно. При первых попытках всё прошло очень и очень успешно. Как в написании клиента, так и в написании сервера. Что меня очень обрадовало и уже в ближайшие часы я сделал всю основную работу, всё работало идеально, пока я не захотел передать немного данных, закодированных по стандарту base64 (XML-RPC имеет специальный тип для этого).

(далее…)

PHP, Web, Zend Framework — Сергей Куракин @ 17:10
Таги: , , , , ,
2008-01-03

Когда новости сами приходят

Сегодня получил письмо с приглашением присоединиться к сообществу Zend Framework, в котором общаются на моём родном русском языке. Отличная новость - русскоязычное сообщество, форум, раздел статей (правда на данный момент пустовато, но, как я понимаю, всё только начинается), полезные ссылки.

Очень приятно, что мой любимый Zend Framework начинает набирать обороты и становиться популярнее, следовательно, появятся примеры, статьи, уроки и жизнь разработчиков станет более лёгкой.

Ещё в сети можно найту Google Group: ru-zend-framework и конечно родной сайт Zend Framework.

PHP, Web, Zend Framework — Сергей Куракин @ 18:33
Таги: ,
2007-08-01

Почему мне начинает нравиться Zend Framework и PHP

  1. Мне нравиться PHP
  2. Мне очень нравиться PHP
  3. Мне нравиться то, как сделан Zend Development Environment и то, что Zend Development Environment прекрасно поддерживает Zend Framework с подсказками кода
  4. Мне нравиться то, что я всегда без проблем могу посмотреть в исходники Zend Framework и разобраться что к чему
  5. Мне нравиться Zend Framework потому что я могу продуктам с его использованием спокойно делать стандартный debug с Zend Development Environment, поставить Break point там где хочу и посмотреть как оно там всё происходит
  6. Мне нравиться, что я его могу тупо скачать как ZIP или TGZ, закинуть на сервер куда угодно, прописать в include_path и радостно пользоваться им как хочу
  7. Мне нравиться, про я могу использовать разные шаблоны запуска/создания проекта, именно такие, какие мне нравятся или кажутся нужными для проекта
  8. Мне нравиться, что PHP можно без проблем за несколько минут поставить почти на любую платформу, а значит там можно запустить Zend Framework
PHP, Web, Zend Framework — Сергей Куракин @ 23:14
Таги: ,
2007-07-29

Zend Framework 1.0.0 - как бы я строил начальный каркас

Не знаю, на сколько я прав в этом вопросе, но я не думаю, что совершил много грубых ошибок в проектировании. Тех, кто далёк от архитектуры Model-View-Controller попрошу остановиться и ознакомиться где-либо с этой идеологией.

Итак, для установки Zend Framework 1.0.0 на сервер не нужно никаких особых шаманств с бубном. Всё что вам нужно, это соответствовать требованиям Zend Framework. Там нет ничего сложного - PHP 5.1.4 (рекомендуется 5.2.2), SPL и, возможно, некоторые extensions, если вы будете использовать определённые компоненты Zend Framework.

Структура каталогов для быстрого старта с Zend Framework о которой пойдёт речь далее.

(далее…)

PHP, Web, Zend Framework — Сергей Куракин @ 03:09
Таги: , , ,
2007-07-18

Первые 8 часов с Zend Framework 1.0.0

Провёл с Zend Framework 1.0.0 около 8 часов. Результат: всё-таки я это дело запустил, подключился к базе, сделал 404 страницу, сделал форму регистрации. Подводных камней куча. Мануал по Zend Framework и примеры желают лучшего. По сравнения с Ruby on Rails стартовать реально сложно - примеры все написаны под разные версии до 1.0.0 и очень часто отличаются структурой.

Первое и самое лёгкое в процессе, это установка: всё просто - скопировал в папку, в include_path закинул и всё, можно пользоваться. Подробности - Introduction to Zend Framework, Installation.

Далее - контроллеры. С ними Quick Start прошёл тоже быстро. Фактически всё из Quick Start прошло без проблем, кроме 404 страницы. Всё сделал как они описали, но не заработало. Код я видимо взял из примера и у меня пробрался throwExceptions в режиме true, как только я понял что к чему, всё заработало. То, как устроена обработка 404ой ошибки с Zend_Controller_Plugin_ErrorHandler мне понравилось. Пока не разобрался с возможностью самому задавать правила роутинга, но это наверняка мелочь уже.

Что меня на данном этапе удивило - это то, что нет единой принятой структуры каталогов, как у Ruby on Rails. Конечно, в Quick Start есть пример, но всё это сделано руками и где-то в мануале, а на это статью не сразу натыкаешься. Я бы сказал не хватает Creating a weblog in 15 minutes - с Ruby on Rails я как-то проще начинал.

Итак, так как я уже разобрался с контроллерами и акшинами, я перешёл к конфигам. WOW! и никаких конфигов тоже небыло. Если надо - пожайлуста, делай сам, из массива, из .ini или из .xml. Где и как будет лежать - наши/ваши проблемы.

Конфиг есть, пора бы и за базой поработать. Обилие возможностей для работы казалось бы не может не радовать. Zend_Db_Select, Zend_Db_Table, Zend_Db_Table_Row. Осилил я Zend_Db_Table и Zend_Db_Table_Row. Часа 3 потратил на то, чтобы загрузить модели, ну или то, что в Zend Framework называется моделью. Оказывается, не смотря на то что в структуре примера есть папка application/models у меня их автоматом не грузит. Как их грузить я вообще не нашёл, поэтому тупо сделал им require_once и всё вроде заработало.
Пока не нашёл способа, куда вводить их моделям валидацию, как в Ruby on Rails, видимо, в Zend Framework всё реализовано по другому. Особо хакать исходники времени небыло, я оставил всё как есть. Потом меня приятно удивил метод save - в случае ошибки, он падает с Exception. Я ожидал что он элементарно будет возвращать true/false и всё. Ладно - обошли это проблему пока, и особых решений этой проблемы я пока не видел, зато видел где-то в их wiki много try { […] } catch { […] } при работе с их моделями.

Скажу честно - впечатления пока никакие. Я ожидал намного больше и со стороны документации и со стороны примеров. да и со стороны самого Zend Framework 1.0.0 я ожидал куда более простую систему, чем увидел. Может это и не верное первое впечатление, но именно оно отталкивает меня от использование Zend Framework в работе и заставляет меня использовать личные разработки.

PHP, Web, Zend Framework — Сергей Куракин @ 16:43
Таги: , , ,