Как стать автором
Обновить

Zend Framework — HTTP-авторизация

Чулан
Сейчас я покажу как можно организовать http-авторизацию в ZF. Т.к. на офсайте в мане ниче путного по этому поводу не сказано, то я пожалуй покажу людям как не переворачивая исходники Zend'а ее реализовать.
Читать дальше →
Всего голосов 11: ↑6 и ↓5 +1
Просмотры 1K
Комментарии 11

Делаем постраничную навигацию в Zend Framework

Чулан
Когда я был совсем маленький, не знал, что такое Zend_paginator, да и вообще что такое Zend.
Создание постраничной навигации было для меня не то чтобы проблемой, но занятием, по крайней мере, рутинным и противным. Однако при изучении ZF, я обнаружил замечательную вещь. Итак, давайте по-немногу разбиратся.
Читать дальше →
Всего голосов 11: ↑6 и ↓5 +1
Просмотры 969
Комментарии 8

маленькие особенности Zend Framework-a

Чулан
Думаю будет полезно тем, кто начинает разбираться с ZF

Вопрос-Ответ:

1. Хочу писать нормальные имена action-ов, например MySuperCuperAction, выдает ошибку.
Для этого в url-e пишет /mycontroller/my-super-cuper/ или через току, разделитель можно менять Zend_Controller_Dispatcher_Abstract->setWordDelimiter

2. В моделях приходиться каждый раз получать адаптер к базе
делаем Zend_Db_Table_Abstract::setDefaultAdapter($db) при инициализации и забываем в модельках про это.

3. Как рендерить в Named Segments response объекта (Часто применяется в лайаутах, например $this->layout()->sidebar)
Способов много
— в action-ах пишем render('MyActionName', 'MyNamedSegment'), тем самым результат рендеринга акшена MyActionName, запишется в MyNamedSegment, т.е. в лайаутах можно будет выводить $this->layout()->MyNamedSegment
— добавляем в объект Response $response->append('MyNamedSegment', 'myContent')
Всего голосов 8: ↑5 и ↓3 +2
Просмотры 382
Комментарии 12

Исследование совместимости Zend Framework и Quercus PHP

PHP *
caucho-whiteЯ давно уже заинтересовался объединением мира Java и PHP, в частности, при помощи замечательного продукта Quercus PHP — порта PHP-интерпретатора вместе с библиотеками на Java. И вот, очередной раз просматривая уже почти готовый архитектурный макет своего движка для браузерных онлайн игр, я обратил внимание на ускользнувшую от меня деталь. Ведь я собирался использовать популярный и мощный фреймворк Zend Framework, запуская его, конечно же, поверх QuercusPHP (детальнее про архитектуру движка я начну рассказывать после нового года). А он, как известно, достаточно требователен к различным расширениям и модулям — в одном проекте, что я сейчас делаю, используя только Zend_Search_Lucene, я встретился с необходимостью подключения ранее не используемых расширений. А значит вполне может быть ситуация, что эта платформа не будет поддерживать все необходимые функции для работы Zend Framework-а. Просмотр Google по поводу совместимости ничего определенного не дал, так что было решено посвятить пару часов собственному исследованию.
Читать дальше →
Всего голосов 10: ↑8 и ↓2 +6
Просмотры 1.1K
Комментарии 34

Релиз 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
Всего голосов 47: ↑40 и ↓7 +33
Просмотры 568
Комментарии 17

Загрузка и переименование файлов

Zend Framework *
Статья написана для тех, кто уже хоть немного знаком с архитектурой Zend Framework. Если кому-нибудь будет интересно — опишу работу с формами более подробно в отдельной статье.

Для загрузки файлов на сервер с помощью форм в Zend Framework Form есть элемент Zend_Form_Element_File. У него есть фильтр «Rename», который позволяет переименовать закачаный файл. Но есть минус — мы не можем просто указать новое имя для файла, чтобы сохранилось его расширение. Как это сделать? А как быть, если мы используем setMultiFile?

Читаем дальше
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 8.1K
Комментарии 12

Ускоряем разработку ч.1 (Расиширяем Zend_Db_Table)

Zend Framework *
Доброго времени суток. Многие согласятся с тем, что Zend Framework — это отличный инструмент, который позволяет сильно сократить время разработки проекта (и не только), но всё-равно часто приходится делать copy-paste методов в разных местах (контроллерах, моделях и т. д. ). Одним из таких мест является модель таблицы базы данных.

Zend_Db_Table и так позволяет легко выполнять CRUD операции.
Как можно их упростить?
Всего голосов 8: ↑5 и ↓3 +2
Просмотры 596
Комментарии 32

Как правильно использовать Zend_Paginator

Zend Framework *
Мой друг написал в песочнице статью, которая оказалась для меня (и не только) полезной, но через 7 дней была удалена. С его разрешения привожу её ниже. Если кому она тоже будет полезной, то он просит выслать ему инвайт на alxsad@gmail.com .

Привет всем любителям Zend Framework. Хочу расказать как правильно использовать компонент Zend_Paginator. Я очень часто видел, как плохо с ним работают некоторые программисты. Давайте посмотрим на код, представленный ниже:

$pages = new Model_Pages();
$paginator = Zend_Paginator::factory($pages->getRows());
$paginator->setItemCountPerPage(1);
$paginator->setPageRange(1);
$paginator->setCurrentPageNumber($this->getRequest()->getParam('page', 1));
Zend_Paginator::setDefaultScrollingStyle('Sliding');
$this->view->pages = $paginator;
$paginator->setView($this->view);
Zend_View_Helper_PaginationControl::setDefaultViewPartial('paginator.phtml');
$this->view->paginator = $paginator;


* This source code was highlighted with Source Code Highlighter.


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

image

Видите? Проблема заключается в том, что люди сразу забирают ВСЕ записи из базы данных, а потом уже из них выбирают нужные. Это огромная ошибка. Поэтому читаем как это делается
правильно.
Читать дальше →
Всего голосов 17: ↑12 и ↓5 +7
Просмотры 5.1K
Комментарии 14

Zend Framework и магические кавычки

Zend Framework *
Zend Framework & Magic QuotesСразу стоит заметить, что с выходом php 6 эта статья будет не актуальна, а пока…

Каждый, кто имеет опыт работы с php, наверняка знает или слышал о директиве «magic_quotes_gpc»(магические кавычки). Если флаг директивы установлен в «On», то происходит автоматическое экранирование данных передаваемых в массивах $_GET, $_POST, $_COOKIE(о чём и намекает аббревиатура gpc на конце директивы).

При разработке сайта на Zend Framework'е одним из требований является отключенные «magic_quotes_gpc». Всё дело в том, что Zend Framework сам экранирует данные и при включённой директиве «magic_quotes_gpc» получается двойное экранирование, что не есть хорошо и красиво. Проблема не была бы столь острой, если бы все хостинги давали право менять значение «magic_quotes_gpc». Я уже не раз сталкивался с такой проблемой и нашёл на мой взгляд довольно элегантное решение.

Читать дальше →
Всего голосов 16: ↑9 и ↓7 +2
Просмотры 2.4K
Комментарии 13

Вышел Zend Framework 1.9.5

Zend Framework *
Очередной багфикс-релиз. Исправлено около 30 багов, большинство из которых было найдено в специально отведенные дни «охоты на баги» в текущем месяце.

Список исправлений можно посмотреть тут:
framework.zend.com/changelog/1.9.5

Качаем, как всегда, отсюда:
framework.zend.com/download/latest
Всего голосов 8: ↑6 и ↓2 +4
Просмотры 1K
Комментарии 5

Настройка Zend Framework 1.9.5 на Denwer 3

Zend Framework *
Здрасте всем! Сегодня я расскажу и покажу как поставить Zend Framework 1.9.5 на всеми известный Денвер 3. Но настройка будет не простая, а с возможностью использования zf Command Line Tool.
Ну давай попробуем...
Всего голосов 12: ↑4 и ↓8 -4
Просмотры 11K
Комментарии 10

Select теряет ON при JOIN'e

Zend Framework *
Столкнулся с проблемой в ZF.
Есть две связанных таблицы. Обе наследуют Zend_Db_Table_Abstract. Формируем запрос к БД:

$select = $this->select();
$select->where(’Catalog.trashed = ?’, 1)
->where(’C.trashed = ?’, 0)
->join(array(’C’ => ‘Categories’), ‘C.id = Catalog.categoryid’, array())
->order($sort);


Смотрим запрос к БД:
SELECT `Catalog`.* FROM `Categories` AS `C` INNER JOIN `Catalog` WHERE (Catalog.trashed = 1) AND (C.trashed = 0) ORDER BY `sort` ASC

ON в JOIN потерялся.
А вот и решение:
Всего голосов 2: ↑0 и ↓2 -2
Просмотры 578
Комментарии 4

Переписываем проект с Zend Framework на Rails

Разработка веб-сайтов *
Около пяти месяцев назад я завязал с zend framework и пересел на рельсы. Тогда же начал переписывать свой проект www.okinfo.ru. Сейчас он уже закончен и sloccount показал что количество строк в проекте уменьшилось с 15000 до 4000. Мои знакомые php разработчики попросили success story и в итоге родилась эта статья. В ней я опишу как оно было, а так же немного расскажу о своем переходе на ruby.
Читать дальше →
Всего голосов 154: ↑143 и ↓11 +132
Просмотры 7.7K
Комментарии 197

15 мая 2011 г. в Санкт-Петербурге пройдет ZFConf 2011

Я пиарюсь


15 мая 2011 г. в Санкт-Петербурге пройдет ZFConf 2011 — вторая российская конференция по Zend Framework


На данный момент формируется список докладов. Свое участие в качестве спикеров уже подтвердили ряд специалистов известных компаний.
Читать дальше →
Всего голосов 34: ↑31 и ↓3 +28
Просмотры 363
Комментарии 8

Список докладов и финальная регистрация ZFConf 2011

Я пиарюсь


Основные подготовительные работы по конференции закончены. Доклады сформированы. Среди спикеров представители KnpLabs, Magento, JetBrains, Sphinx и других известных компаний.

Открыта финальная регистрация!
Читать дальше →
Всего голосов 7: ↑4 и ↓3 +1
Просмотры 389
Комментарии 2

YAF — самый быстрый php фреймворк*

PHP *
Yaf — это PHP микро-фреймворк, взявший за основу структуру приложения Zend Framework, но написанный на С и является PHP extension доступным через PECL.

Основной (и единственной) задачей для написания его послужила необходимость максимально быстрой (сравнимой с php) обработки запросов в парадигме MVC но с удобством предоставляемым Zend Framework.

Yaf и Zend Framework, имеют аналогичные API и подобную концепцию, сохраняя при этом совместимость.
Я сгенерировал тестовое приложение (zf create project test) и провел небольшой синтетический тест производительности.
Интересен результат? Добро пожаловать под кат
Всего голосов 73: ↑62 и ↓11 +51
Просмотры 14K
Комментарии 97

Кеширование и теги при использовании ZF + memcached

Разработка веб-сайтов *
Из песочницы
Предисловие


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

Описание проблемы

Как известно, Memcached представляет собой относительно простое для использование Key/Value хранилище с простым, необходимым и достаточным функционалом. Предоставляемые ZF интерфейсы для взаимодействия с Memcached включены в общую библиотеку работы с кешем (включает в себя также адаптеры для Sqlite, Xcache, ZendServer и т.д.). Некоторые из этих систем кеширования поддерживают использование тегов для объектов кеширования, однако Memcached такой функцией не обладает, поэтому попытки использовать стандартные интерфейсы классов ZF для кеширования объектов с указанием тегов при работе с Memcached приведут лишь к ошибкам (в логах) вплоть до исключений. (Подробнее можно прочитать в документации).

Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 2K
Комментарии 11

Видео и презентации ZFConf 2011 выложены в бесплатный доступ

Блог компании Wizartech


Видео, доступное по адресу www.zfconf.ru/2011/video, охватывает доклады:

Гибкая архитектура Zend Framework приложений с использованием Dependency Injection
Алексей Качаев (Сogniance, Senior PHP Developer)

Воюем за ресурсы: Повышение производительности Zend Framework-приложения с помощью phpDaemon, Varnish и ESI
Алексей Качаев (Сogniance, Senior PHP Developer)

Читать дальше →
Всего голосов 30: ↑21 и ↓9 +12
Просмотры 1.3K
Комментарии 9

ZFConf 2012 пройдет весной в Москве — открыта предварительная регистрация

Блог компании Wizartech Zend Framework *
Главное новшество этого года — место проведения. В этом году конференция пройдет в Москве, а не в Санкт-Петербурге, как это было ранее.

Уже сейчас доступна предварительная регистрация. Финальная регистрация, как обычно, будет открыта после формирования итогового списка докладов. Участники, прошедшие предварительную регистрацию, получат приоритетные уведомления об этом.

Свое участие в качестве спикеров уже подтвердили ряд специалистов. Также ведутся переговоры с иностранными докладчиками, в том числе с Zend Framework Core Team.

Если вам есть что рассказать сообществу, напишите нам через специальную форму о предлагаемом докладе. Для иногородних докладчиков обсуждаются условия по компенсации расходов на поездку.

Наиболее актуальные темы и другие подробности
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 2.8K
Комментарии 9

Доклады и финальная регистрация ZFConf 2012

Блог компании Wizartech Zend Framework *
На сайте опубликован полный список докладов конференции и открыта финальная регистрация.

В этом году с докладом выступит гость из Италии — Enrico Zimuel из Zend Framework Core Team. А также Виктор Фараздаги, Александр Веремьев, Алексей Качаев и многие другие специалисты.




Полный список докладов
Всего голосов 13: ↑11 и ↓2 +9
Просмотры 3K
Комментарии 26
1