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

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

Lumber room
Сейчас я покажу как можно организовать http-авторизацию в ZF. Т.к. на офсайте в мане ниче путного по этому поводу не сказано, то я пожалуй покажу людям как не переворачивая исходники Zend'а ее реализовать.
Читать дальше →
Total votes 11: ↑6 and ↓5 +1
Views 496
Comments 11

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

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

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

Lumber room
Думаю будет полезно тем, кто начинает разбираться с 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')
Total votes 8: ↑5 and ↓3 +2
Views 166
Comments 12

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

PHP *
caucho-whiteЯ давно уже заинтересовался объединением мира Java и PHP, в частности, при помощи замечательного продукта Quercus PHP — порта PHP-интерпретатора вместе с библиотеками на Java. И вот, очередной раз просматривая уже почти готовый архитектурный макет своего движка для браузерных онлайн игр, я обратил внимание на ускользнувшую от меня деталь. Ведь я собирался использовать популярный и мощный фреймворк Zend Framework, запуская его, конечно же, поверх QuercusPHP (детальнее про архитектуру движка я начну рассказывать после нового года). А он, как известно, достаточно требователен к различным расширениям и модулям — в одном проекте, что я сейчас делаю, используя только Zend_Search_Lucene, я встретился с необходимостью подключения ранее не используемых расширений. А значит вполне может быть ситуация, что эта платформа не будет поддерживать все необходимые функции для работы Zend Framework-а. Просмотр Google по поводу совместимости ничего определенного не дал, так что было решено посвятить пару часов собственному исследованию.
Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Views 1K
Comments 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
Total votes 47: ↑40 and ↓7 +33
Views 526
Comments 17

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

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

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

Читаем дальше
Total votes 7: ↑7 and ↓0 +7
Views 8K
Comments 12

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

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

Zend_Db_Table и так позволяет легко выполнять CRUD операции.
Как можно их упростить?
Total votes 8: ↑5 and ↓3 +2
Views 539
Comments 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

Видите? Проблема заключается в том, что люди сразу забирают ВСЕ записи из базы данных, а потом уже из них выбирают нужные. Это огромная ошибка. Поэтому читаем как это делается
правильно.
Читать дальше →
Total votes 17: ↑12 and ↓5 +7
Views 5K
Comments 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». Я уже не раз сталкивался с такой проблемой и нашёл на мой взгляд довольно элегантное решение.

Читать дальше →
Total votes 16: ↑9 and ↓7 +2
Views 2.2K
Comments 13

Вышел Zend Framework 1.9.5

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

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

Качаем, как всегда, отсюда:
framework.zend.com/download/latest
Total votes 8: ↑6 and ↓2 +4
Views 991
Comments 5

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

Zend Framework *
Здрасте всем! Сегодня я расскажу и покажу как поставить Zend Framework 1.9.5 на всеми известный Денвер 3. Но настройка будет не простая, а с возможностью использования zf Command Line Tool.
Ну давай попробуем...
Total votes 12: ↑4 and ↓8 -4
Views 11K
Comments 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 потерялся.
А вот и решение:
Total votes 2: ↑0 and ↓2 -2
Views 494
Comments 4

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

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

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

Self Promo


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


На данный момент формируется список докладов. Свое участие в качестве спикеров уже подтвердили ряд специалистов известных компаний.
Читать дальше →
Total votes 34: ↑31 and ↓3 +28
Views 301
Comments 8

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

Self Promo


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

Открыта финальная регистрация!
Читать дальше →
Total votes 7: ↑4 and ↓3 +1
Views 350
Comments 2

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

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

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

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

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

Website development *
Sandbox
Предисловие


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

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

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

Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Views 1.9K
Comments 11

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

Wizartech corporate blog


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

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

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

Читать дальше →
Total votes 30: ↑21 and ↓9 +12
Views 1.2K
Comments 9

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

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

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

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

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

Наиболее актуальные темы и другие подробности
Total votes 19: ↑19 and ↓0 +19
Views 2.8K
Comments 9

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

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

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




Полный список докладов
Total votes 13: ↑11 and ↓2 +9
Views 2.9K
Comments 26
1