Pull to refresh
  • by relevance
  • by date
  • by rating

Тонкости роутинга в Zend Framework

Zend Framework *
Задача — сделать профиль пользователя доступным через example.com/user/username и через пользовательский поддомен username.example.com. Задача простая и с помощью Zend Framework решается парой строк кода. Трудности начались тогда, когда я решил действия регистрации, подтверждения регистрации, востановления пароля и собственно входа/выхода поместить в тот же контроллер, который выводит профиль пользователя. Теперь возникла задача научить контроллер не воспринимать example.com/user/register как пользователя.
Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Views 3.2K
Comments 10

Zend Framework Certification

Zend Framework *
Компания Zend создала новый вид сертификации ZF Certification. Соотвественно можно получить электронный вариант книги, по которой проходится тренинг курс тут. Что же касается книги по PHP сертификации, то на мой взгляд она довольна интересна для ознакомления. Рассматриваются вещи, которые не так часто поднимаются в многочисленной литературе по данному языку программирования. Надеюсь, что в новом тренинг курсе будут также изложены не рядовые советы по работе с Zend Framework.

Книга содержит описание применяемого в фреймворке стандарта кодирования и всех основных объектов. Не знаю в чём заключается существенное отличие от мануала, но думаю, что они имеются. Ах да, в конце каждой главы можно проверить свои знания, отвечая на контрольные вопросы.

Однако, для меня более важным остаётся вопрос получения данного сертификата. Зачем он может понадобиться и какие преимущества даёт. Я знаю, что в России очень мало людей имеют сертификаты от Zend по PHP. Соответственно популярность этого нового трейнинга у нас в стране остаётся под большим вопросом. Хотя безусловно более активное продвижение данного фреймворка не может не радовать.
Total votes 29: ↑26 and ↓3 +23
Views 1.7K
Comments 43

Как подготовиться к сертификации по Zend Framework?

Zend Framework *

Когда люди спрашивают меня как подготовиться к сертификации по Zend Framework(ZF), я обычно говорю следующее:
  • Вы должны уже иметь реальный опыт работы с ZF, или хотя бы с некоторыми его компонентами. Это — даст вам представление о работе фрейворка в целом, и вы сможете изучать те части фрейворка с которыми вы ещё не знакомы.(Те из вас кто ещё не начал работать с ZF, почитайте «быстрый старт», или может быть стоит поити на курсы?)
  • Скачайте руководство по сертификации. Это — небольшой обзор, по-этому не стоит ожидать от него полного объяснения всех аспектов работы с ZF, Прочитав его, можно получить представление о темах и вопросах которые будут на экзамене, и соответственно можно будет посмотреть документацию по интересующим вас вопросам. Работа каждого компонента рассмотренна в «Справочнике программиста по Zend Framework». Справочник — очень удобен, позволяет легко найти документацию по интересующему компоненту(Например Zend_Acl, Zend_Auth, Zend_form) и кроме того он содержит описание ZF стандарта по кодированию и рекомендации по производительности ZF.
  • Если я чего-то не понимаю, я довольно часто смотрю в исходный код Zend Framework. В некоторых случаях читая исходный код, представление о работе компонента можно получить быстрее чем по документации, кроме этого вы поймёте как разработчики ZF организовывают свой код и получите более полное представление о том как можно использовать архитектуру ZF в ваших проектах.

В дополнение ко всему Zend предлагает пройти обучение по программе «Подготовка к сертификации по Zend Framework», так что, если вы привыкли учится по более формальной методологии, это может вам помочь. В моём случае я стал понимать как работать с незнакомыми мне компонентами, углубил свои знания по уже знакомым, и я стал горазо более уверенно использовать компоненты ZF.

Всем удачи.

P.S. Данная заметка перевод,
автор статьи успешно сдал экзамен по ZF(пруфлинк)

перевёл как ответ на статью Zend Framework Certification
Поскольку на мой взгляд в статье не только рассказывается как сдавать экзамен, но и показывается правильная позиция по отношению к сертификации.
Total votes 21: ↑17 and ↓4 +13
Views 2K
Comments 19

Расширение возможностей Zend_Form с использованием ExtJS

Zend Framework *
    Zend Framework содержит удобное средство рендеринга форм – Zend_Form. Наиболее важными плюсами являются:
  • средства валидации данных (большое количество валидаторов);
  • средства фильтрации данных (например перевод дат в формат БД);
  • рендеринг формы с использованием декораторов;
  • экранирование выводимых данных.
    Исходя из этого создать форму, обрабатываемую только серверной стороной не вызывает проблем. Однако сейчас этим уже никого не удивить. Отмечу, что Zend активно сотрудничает с Dojo для создания динамически обрабатываемых форм, но виджеты, разрабатываемые данной компанией, оставляют желать лучшего по сравнению с ExtJS. С этой точки зрения лучшим вариантом является корректировка рендеринга форм классом Zend_Form.

    Наиболее интересным выглядит симбиоз ExtJS и Zend. Встроенная валидация полей виджета Ext.form.BasicForm может быть согласована с валидаторами серверной стороны. Здесь возможны существенные проблемы в виду использования различной философии при проверке полей. Например, в ExtJS использутся типы полей и дополнительные валидаторы, а в Zend_Form присутствуют только валидаторы. Но эта проблема разрешима, т.к. в клиентской части мы можем создавать свои типы данных, соответствующие функциям проверки, которые реализованы в Zend.
Читать дальше →
Total votes 16: ↑13 and ↓3 +10
Views 1.2K
Comments 27

Древовидная навигация с помощью Zend Framework

Lumber room
У больших проектов есть большая проблема — рано или поздно его содержимое превращается в хаос (в большей части это относится к бэкэнду, ибо на фронте обычно все в порядке). С ростом проекта усложняется его иерархическая структура, что затрудняет контроль или работу, поэтому стоит воспользоваться вполне очевидной вещью — вывод навигации в виде дерева. Довольно удобно, когда все содержимое вашего проекта отображается в иерархическом виде, вы так не думаете?
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Views 283
Comments 8

Zend Framework первой свежести, ч1: зендируем MVC

Zend Framework *
Меня тут разбанили по просьбе Дина, и я решил принести пользу обществу. Поскольку я дурак и ничего не умею, дай, думаю, напишу о ZF — офигенной штуке, которую все почему-то искренне ненавидят. Надо успеть, правда, пока по НТВ не стали показывать Пелевина (жаль, ненастоящего).

Главная беда всевозможных QS в том, что они действительно quick и действительно start, но если делать все как там, получится не особенно «масштабируемое» приложение, с которым не очень понятно, что делать. По сравнению с официальным quickstart'ом прошлой версии Zend Framework'a, новый просто великолепен, но не лишен недостатков. Я пойду с другого конца: вместо того, чтобы обьяснять, как сделать что-то бессмысленное и типовое, попробую (!) рассказать, как писать приложение вообще, используя всевозможными способами Zend Framework. А, пора хабракат делать.
Читать дальше →
Total votes 135: ↑100 and ↓35 +65
Views 3.4K
Comments 135

Декоратор для обработки форм Ajax`ом

Lumber room
После прочтения статьи я решил написать декоратор который будет прикреплять jquery код для получения данных из формы и отправки их на сервер.
Своим опытом спешу поделится с хабрасообществом.
Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Views 471
Comments 2

Zend framework — туториал: авторизация

Zend Framework *
Знаю что в сети много уже таких туториалов, но я сам так же знаю что ZF очень труден на старте, но потом… все ясно и легко.
Хотелось бы облегчить эту первую стадию тем кто еще только в начале пути.

Для авторизации нам потребуется конечно же готовая таблица пользователей — минимум два поля, userName и passwordMD5.
passwordMD5 — сразу понятно что хранит пароль в неявном виде, что бы его кто то не украл в один момент.

1. Делаем форму логина.

Читать дальше →
Total votes 13: ↑10 and ↓3 +7
Views 8.9K
Comments 16

Студией Deluxe и компанией iTrack создан flash-портал на Zend Framework

iTrack corporate blog
image

Проходит завершающую стадию тестирования информационно-правой портал ЗАКОНИЯ — www.zakonia.ru, для которого студия Deluxe сделала дизайн и флеш, а мы — программирование.

ЗАКОНИЯ — это портал, посвященный праву и особенностям его применения в различных сферах жизни. Ресурс представляет ценность, как для широкой, так и для профессиональной аудитории. Запланированная посещаемость — от 30 тыс уник. посетителей в сутки.

Читать дальше →
Total votes 25: ↑11 and ↓14 -3
Views 710
Comments 19

Zend Framework: подключаем OpenID

Zend Framework *
В своем проекте (Вопросы и ответы для программистов) на Zend Framework мне стало необходимо подключить OpenID и после часа работы я успешно подключил стандартный зендовский сервис. Думаю класс, как легко и удобно(как и все в зенде), но как оказалось этот сервис не работает с OpenId 2.0, да — он просто не дописан.

Немного порывшись в исходниках я это подтвердил — Consumer.php * todo OpenID 2.0 (7.3) XRI and Yadis discovery
Потом посмотрел по багтрекеру и оказалось что это весит уже давно(очень) и никто не спешит доделывать. Тогда я и начал искать альтернативу. Выбор попал на openidenabled.com/php-openid.

Далее приведу пример, который позволит тем кто еще только собирается подключать сделать это минут за 15.
Читать дальше →
Total votes 29: ↑24 and ↓5 +19
Views 2K
Comments 28

Как я программирую под ExtJS и Zend Framework

Lumber room
Как известно последня версия Zend Framework включает в себя js библиотеки dojo. но, не смотря на это, для работы я выбрал связку Zend Framework + Ext JS.
Почему Zend Framework — в нем отлично реализован принцип MVC, он хорошо документирован, имеет много полезных библиотек, поддерживается Zend — ом. Да, есть недостатки — не самый быстрый, некоторые модули нужно брать у сторонних разработчиков.
Почему ExtJS — также хорошо документировано, имеет много компонентов, отлично реализована оконная модель, Grid — доведен до идеала.
Пока что не буду останавливатся на таких деталях как авторизация, построение интерфейса, подгрузка скриптов.
Ибо тут можно и книгу написать, о всех нюансах.
Вкратце раскажу о трех компонентах, которые чаще необходимы для работы с данными — TreePanel, GridPanel, Form Panel.
Читать дальше →
Total votes 19: ↑12 and ↓7 +5
Views 539
Comments 9

1.8 Preview Release

Zend Framework *
Translation
Сегодня команда разработчиков Zend Framework выпустила предварительный релиз 1.8.0. Несмотря на то, что окончательный релиз намечен на конец этого месяца, этот релиз представляет собой тяжелый труд многих разработчиков и демонстрирует целый ряд новых мощных компонентов.

Этот релиз предназначен исключительно для ознакомления и не готов к использованию в реальных проектах.
Читать дальше →
Total votes 31: ↑28 and ↓3 +25
Views 514
Comments 38

Dklab_Cache: тэги в memcached, namespaces, статистика

PHP *
Memcached community предприняло немало попыток написать «родные» патчи для кода memcached, добавляющие в него поддержку тэгов. Наиболее известный из таких патчей — проект memcached-tag. К сожалению, memcached-tag все еще очень далек от стабильной версии: нетрудно написать скрипт, приводящий к зависанию пропатченного memcached-сервера. Похоже, на момент написания данной статьи не существует ни одного надежного решения проблемы тэгирования на уровне самого memcached-сервера.

Библиотека Dklab_Cache


Dklab_Cache — это (в основном) библиотека поддержки тэгирования ключей для memcached, использующая интерфейсы Zend Framework. Сама библиотека написана на чистом PHP. Вот полный список возможностей библиотеки:
  • Backend_TagEmuWrapper: тэги для memcached и любых других backend-систем кэширования Zend Framework;
  • Backend_NamespaceWrapper: поддержка пространств имен для memcached и др.;
  • Backend_Profiler: подсчет статистики по использованию memcached и др. backend-ов;
  • Frontend_Slot, Frontent_Tag: каркас для высокоуровневого построения систем кэшиирования в сложных проектах.
Собственно, для поддержки тэгов имеется класс TagEmuWrapper. Он представляет собой декоратор («обертку») для backend-классов кэширования Zend Framework. Другими словами, вы можете с его помощью «прозрачно» добавить поддержку тэгов в любую подсистему кэширования Zend Framework. Мы будем рассматривать backend для работы с memcached: Zend_Cache_Backend_Memcached, но, если в вашем проекте используется какой-то другой backend-класс, вы можете подключить тэгирование и к нему без каких-либо особенностей.

TagEmuWrapper реализует стандартный backend-интерфейс Zend_Cache_Backend_Interface, поэтому с точки зрения вызывающей системы он сам является кэш-backend'ом. Вообще, Zend Framework хорош тем, что на уровне интерфейса он поддерживает тэги с самого начала! Например, в методе save() уже имеется параметр, позволяющий снабдить ключ тэгами. Однако ни один из backend-ов в составе Zend Framework тэги не поддерживает: попытка добавить тэг к некоторому ключу вызывает исключение (в частности, для Zend_Cache_Backend_Memcached).

Технические подробности, документацию, а также примеры использования можно посмотреть тут: dklab.ru/lib/Dklab_Cache

Что такое тэги?


Работа с типичной кэширующей системой (в том числе с memcached) заключается в выполнении трех основных операций:
  • save($data, $id, $lifetime): сохранить данные $data в ячейке кэша с ключом $id. Можно указать «время жизни» ключа $lifetime; спустя это время данные в кэше «протухнут» и удалятся.
  • load($id): загрузить данные из ячейки с ключом $id. Если данные недоступны, возвращается false.
  • remove($id): очистить ячейку кэша с ключом $id.
Читать дальше →
Total votes 73: ↑59 and ↓14 +45
Views 4.1K
Comments 57

Zend_Soap — Как готовить

Lumber room
Недавно передо мной встал вопрос: организовать SOAP Server для некоторых деяний. Задался идеей реализовать это с помощью Zend_Soap, оказалось предельно просто.

Для примера нам понадобится 4 файла:

  1. server.php — собственно сам SOAP сервер
  2. wsdl.php — WSDL
  3. class.php — класс с функциями
  4. client.php — клиент, как пример работы


Читать далее...
Total votes 4: ↑4 and ↓0 +4
Views 595
Comments 8

Обзор Zend_CodeGenerator

Zend Framework *
Как многим уже известно Zend_CodeGenerator появился в бете 1.8 Zend_Framework
Я хотел было потерпеть до релиза версии 1.8, но не удержался и решил всё таки попробавть «на зубок».
Мы будем генерировать класс формы на основе mysql таблицы.
Это действительно очень удобно и избавляет нас от порой рутинной работы.
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views 561
Comments 11

Релиз Zend Framework 1.8.0

Zend Framework *
Под давлением спиртного праздников, ХабраСообщество оставило незамеченным выход 30 апреля релиза самого известного PHP фреймворка — Zend Framework за версией 1.8.0.

Про нововведения можно почитать в топике про Preview-релиз.
Слово Rapid уже вполне применимо к ZF, надеемся что скоро и слово Agile будет применимо в полной мере не только к Rails, но и к ZF :-)

Скачать последнюю версию и документацию всегда можно здесь
Прямые ссылки на 1.8.0: full || minimal
Документация(онлайн): RU || EN
Total votes 47: ↑40 and ↓7 +33
Views 520
Comments 17

Дебаг в Zend Framework с использованием FirePHP

Zend Framework *
Zend Framework and FrePHP

Есть одно правило — не показывать заказчику debug информацию, для этой цели обычно существует две конфигурации, но если заказчик очень любопытен, либо Вам, из эстетических побуждений, хочется скрыть килобайты дебаг информации? В этих благих намерениях нам поможет FirePHP.
Читать дальше →
Total votes 30: ↑25 and ↓5 +20
Views 1.7K
Comments 8

Вышел Zend Framework 1.8.1

Zend Framework *
image
Скачать Zend Framework 1.8.1
Full zip (43,0 Мб) | tar.gz (38,1 Мб)
Minimal zip (4,5 Мб) | tar.gz (2,8 Мб)

Изменения:
— Было испралено более 68 багов
— Dojo 1.3 вместо 1.2 (попавшей в релиз по ошибке)
— Zend_Loader::registerAutoload() теперь вызывает Zend_Loader_Autoloader устанавливая флаг fallbackAutoloader в true.
— Пофиксили баги и доработали Zend_Application
— Zend_Tool научили генерировать модули.
— В Zend_Amf добавили строгую типизацию объектов

Полный список исправлений можно поглядеть в баг-трекере.
Total votes 20: ↑16 and ↓4 +12
Views 506
Comments 12