Pull to refresh

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

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

PHP класс для сборки инклюдов в один файл

Lumber room
по мотивам коммента mocksoul из темы PHP: Введение в Zend Framework

Проблема


В кратце, речь шла о том, что одним из недостатков фреймворка является его концепция «один класс – один файл». И хотя, с моей точки зрения, это не является недостатком архитектуры ZF, это является недостатком PHP. Проблемы начинаются когда PHP начинает инклюдить десятки и сотни файлов, да еще проверять их на once.

Предложенное решение – сборка всех инклюдов в один файл.
Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Views 491
Comments 16

Обновление Zend Framework

Lumber room
Разработчики PHP в последний день осени порадовали нас очередным обновлением Zend Framework до версии 1.03.

Но что же нового? — К сожалению, ничего :(

Было исправлено 74 бага, под раздачу попали 16 пакетов. Но как по мне — слишком медленно продвигается работа — если заглянуть в JIR'у проекта — то можно увидеть еще 380 issues'а. Многовато…

Но не может, не радовать количество пакетов которые предлагают внедрить сторонние разработчики, все детали Вы сможете найти в Wiki
Total votes 7: ↑6 and ↓1 +5
Views 191
Comments 4

Zend Framework 1.5.0 Preview

Zend Framework *
Выпущен почти релиз Zend Framework 1.5.0.

— Новый компонент Zend_Form с поддержкой AJAX для элементов.
— Новые хелперы для запросов AJAX и альтернативных форматов отдачи данных.
— Хелперы для Infocard, OpenID и LDAP.
— Поддержка сложных типов поиска в Lucene (fuzzy, date-range и wildcard).
— Поддержка индексного файлового формата Lucene 2.1.
— Хелперы Partial, Placeholder, Action и Header для View.
— Zend_Layout.
— Поддержка UTF-8 для PDF.
— Новые веб-сервисы (Technorati, SlideShare и Remember the Milk).

download
Total votes 2: ↑2 and ↓0 +2
Views 690
Comments 3

Zend Framework 1.5.0 уже не beta

PHP *
Зашел только что посмотреть ссылочку на Zend Framework 1.5.0PR, а вместо этого увидел следующее:



Сегодня Zend Framework перерос из стадии beta в релиз.

Пробуем? ;)

P.S.: Подробнее здесь. А вот release notes я пока не нашел, соответственно, где почитать что поменялось — пока не знаю…
Total votes 19: ↑17 and ↓2 +15
Views 847
Comments 15

Использование Zend_Db_Table

Zend Framework *
На работе пришлось столкнуться с очень не нравившейся мне ORM'кой собственного производства. Стал делать свою (ну не дурак ли, а? :)), наваял за 3 дня простенькую ORM, отображающую структуру таблиц на обьекты, не контроллируя типов. Итог получился примерно такой:
  • класс базы данных (относледовался от mysqli, pdo использовать было нельзя)
  • класс таблицы, хранящий в себе бд, и отвечающий за CRUD записей
  • класс записи, перенаправляющий методы CUD классу таблицы


Читать дальше →
Total votes 1: ↑1 and ↓0 +1
Views 2.4K
Comments 47

И ещё один способ генерации PDF

Website development *
Навеяно топиком о генрации PDF с помощью ghostscript и Inkscape.

Посмотрев на предложенный вариант, я вспомнил одно очень интересное решение, коим и хочу поделиться.

Итак, генерация PDF с помощью QT

Читать дальше →
Total votes 10: ↑7 and ↓3 +4
Views 8.6K
Comments 14

Мой первый проект на Zend Framework

Lumber room
В процессе изучения Zend Framework, Php, Javascript, Xslt появилась идея закрепить все на практике, написав учебный проект. Все началось со змейки, которая бегала по полю кушала «яблоки» и разбивалась об себя или об границы экрана. Ну, в общем, стандартная игрушка под старые nokia. Только не двухцветная, а трёх=)
Появились сначала уровни, потом обработка на стороне сервера с помощью Zend. Позже уже появился дизайн, взятый с www.freecsstemplates.org (так, как с дизайном у меня туго=) ). И так все постепенно переросло в теперешний проект — с редактором карт, регистрацией, квестом и т.д.

Для начала появилась потребность в шаблоне, что реализовал с помощью Xslt. После этого добавил права пользователей с помощью Zend_Acl и авторизацию с помощью Zend_Auth. Ввел регистрацию, для того, что бы добавлять новых пользователей. В этом случае мне понадобились Zend_Mail и Zend_Validate.
Реализовал контроллеры отдельные для квеста, случайной карты и определенной. Движки — на чистом Javascript. Для квеста — один движок. Для случайной и определенной карты — тот же самый плюс сохранение движения с помощью XmlHttpRequest.
Редактор так же на чистом Javascript. Сохранение происходит с помощью XmlHttpRequest. Проверка карты на корректность — на стороне сервера(проверяется можно ли с любой точки попасть в любую и существует ли точка, с которой нельзя выбраться).
В качестве базы данных использовал SQLite, так как не было потребности в каких-то других. Настраивается легко и быстро на персональном компьютере. Но в случае больших нагрузок можно легко изменить на любую другую без проблем, так как использую PDO.

В принципе, о проекте — все. Выкладываю не для того что бы показать, что я крут, а что бы посмотрели, высказали свои мнение и пожелания, желательно указали баги, которые я исправлю. Хочу получить опыт в «поддержке» проекта.

P.s. Проект — Open Source. Кому интересны исходники — обращайтесь. code.google.com/p/zendsnake/downloads/list

Сам проэкт — www.snake4ever.org.ua

UPD. Проект окончен. Но исходники можно до сих пор скачать.
Total votes 1: ↑1 and ↓0 +1
Views 364
Comments 33

Полнотекстовый поиск в веб-проектах: Sphinx, Apache Lucene, Xapian

Website development *
Полная авторская верcия из моего блога. Оригинал материала написан специально для Developers.org.ua

Наверное любой современный веб-проект сложно себе представить без… без контента! Да, именно контент в разных его проявлениях сегодня «правит бал» в различных веб-проектах. Не так важно — создаваемый пользователями или получаемый из других источников автоматически — информация является основной любого (ну, или почти любого) проекта. А раз так — то вопрос поиска необходимой информации стоит очень остро. И острее с каждым днем, ввиду стремительного расширения количества этого самого контента, в основном за счёт создаваемого пользователями (это и форумы, и блоги и модные нынче сообщества, вроде Habrahabr.ru). Таким образом, любой разработчик, реализующий сегодня какой-либо проект, сталкивается с потребностью реализовать поиск в своём веб-приложении. При этом требования к такому поиску уже намного сложнее и шире, чем даже год-два назад. Конечно, для каких-то проектов вполне подойдёт и простое решение, к примеру, вполне можно использовать Custom Google Search. Но чем более сложное приложение, и чем сложнее структура контента, если требуются особые виды поиска и обработки результата, или же просто количество или формат данных в вашем проекте особый, вам потребуется собственная поисковая система. Именно своя система, собственный поисковый сервер или сервис, а не сторонний, пусть даже гибкий и настраиваемый. Но что же выбрать, и вообще — какие сейчас на рынке есть поисковые проекты, которые готовы для использования в реальных проектах, не исследовательских или научных, а реальных бизнес-приложениях? Далее мы кратко рассмотрим различные варианты поисковых решений, пригодных для встраивания в ваше веб-приложение или развёртывания на собственном сервере.
Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Views 53K
Comments 62

Введение в Zend Framework

PHP *
Translation
Update (2014): Это статья 2007 года, которая, к моему удивлению, до сих пор пользуется спросом. По этой причине я обновил её в соответствии с новыми правилами оформления постов на Хабре, и добавил подсветку синтаксиса для примеров кода. Если кому-то захочется что-то добавить или исправить, исходник текста с хабра-разметкой выложен в открытый доступ: gist.github.com/dreikanter/2b4ee996d7a775e707d7

Аннотация от переводчика


PHP — один из самых широко распространенных языков разработки веб-приложений и при этом один из самых спорных. Я очень часто видел негативное отношение к этой технологии, да и недостатки, провоцирующие это отношение — не для кого не являются секретом. Тем не менее, PHP активно эволюционирует и во многих отношениях постепенно становитс лучше. Одним из серьезных шагов его развития, на мой взгляд, является появление MVC-фреймворков, призванных систематизировать процесс разработки веб-приложений и приучить к порядку разработчиков, которым зачастую здорово не хватает силы воли, чтобы при всей предоставляемой языком свободе, сохранить грамотную и красивую инфраструктуру разрабатываемого ПО (сразу уточню, что последнее утверждение субъективно и основано исключительно на виденном мной коде различных программных решений).

В последнее время я активно заинтересовался архитектурой MVC и сделал свою собственную реализацию фреймворка на этой концепции для PHP4. Совсем недавно на глаза попался первый официальный релиз Zend Framework, о котором я давно слышал, но все руки не доходили с ним поиграть. Для PHP существуют и другие подобный библиотеки, но в данном случае привлек бренд.
Читать дальше →
Total votes 52: ↑51 and ↓1 +50
Views 102K
Comments 158

Введение в Zend Framework (продолжение)

PHP *
Translation
Продолжаем рассказ о Zend Framework. В первой части статьи была описана концепция программной архитектуры MVC, рассмотрена структура типового веб-приложения, базирующегося на Zend Framework и выполнена демонстрационная реализация контроллера и вида на его основе. Во второй части будет раскрыта тема модели и приведен пример взаимодействия приложения с базой данных.
Читать дальше →
Total votes 35: ↑27 and ↓8 +19
Views 16K
Comments 29

Введение в Zend_Auth

PHP *
Translation
В статье приведен обзор возможностей компоненты Zend_Auth, дающий общее представление о реализации пользовательской авторизации в приложениях на базе Zend Framework. В качестве основы приводимых примеров, использованы материалы статьи «Введение в Zend Framework». Примеры протестированы на Zend Framework версий 0.9, 0.9.1 и 0.9.2, и скорее всего будут работать с более поздними версиями, но не с более ранними.
Читать дальше →
Total votes 20: ↑17 and ↓3 +14
Views 6.5K
Comments 34

Интеграция Zend_Acl и MVC. Часть 1 (простейшее использование)

Zend Framework *
Translation
Итак, что не так с Zend_Acl и текущей реализацией MVC в Zend Framework? Ничего неправильного нет, просто не слишком очевидно для разработчиков, как достичь оптимальной интеграции между этими двумя важными частями фреймворка.
Читать дальше →
Total votes 12: ↑9 and ↓3 +6
Views 1.2K
Comments 17

Интеграция Zend_Acl и MVC. Часть 2 (продвинутый вариант использования)

Zend Framework *
Translation
На DevZone появилась вторая часть статьи о интреграции Zend_Acl в MVC Альдемара Бернала и я спешу предложить вам ее перевод.

В первой части мы говорили о том, как настроить экземпляр Zend_Acl и включить его в окружение MVC (с использованием плагина фронт-контроллера). Но как же настройки других действий для блокирования доступа, или как сделать редактирование статьи только её автором? Это и кое-что еще будет рассмотрено далее.

Читать дальше →
Total votes 1: ↑1 and ↓0 +1
Views 1.2K
Comments 5

Разработка CMS

Lumber room
Идея, родившаяся в процессе разработки собственной CMS. Часто нужно, чтобы одни и те же события были доступны одновременно через основной html вид, через ajax, или, к примеру, через мобильный телефон. Естественно, может понадобиться не только вывести данные в разных форматах(html, JSON, xml), но и выполнить дополнительные действия в зависимости от среды.

Можно реализовать это с помощью условий в отдельном методе контроллера, можно с помощью отдельных методов для каждого типа отображения, а можно так…
Читать дальше →
Total votes 15: ↑13.5 and ↓1.5 +12
Views 335
Comments 18

ZF 1.6 RC2

Zend Framework *
Сегодня вышел второй кандидат версии 1.6. На настоящий момент анонса еще небыло, но загрузить его уже можно.

Что же нового появилось? Пока могу лишь предполагать на основе сравнения кода первого и второго кандидатов:
  • Добавили класс для работы с капчей и соответствующее поле для формы
  • Добавили поддержку FirePHP (расширения FireBug) для Zend_Log и Zend_Db_Profiler
  • Добавили новые хелперы для Dojo
  • Добавили класс загрузки файлов и поле для Zend_Form + валидаторы
  • … и масса изменений в остальных классах...
Пробуем и ждем релиз?
Total votes 10: ↑7 and ↓3 +4
Views 494
Comments 4

Хватит изобретать велосипеды!

PHP *
Здравствуйте, уважаемые хабрадевелоперы.

С вашего позволения я немного пофилософствую на тему развития нас, как сообщества девелоперов, использующих замечательный язык PHP. Заранее скажу, что многие могут не поддержать мою точку зрения и я буду рад обсудить это в комментариях. Итак, приступим…

Немного истории


Так исторически сложилось, что PHP считается простым языком.
Изначально он создавался для быстрого написания небольших динамических веб-приложений низкоквалифицированным (читай — неопытным и начинающим) веб-разработчиком.
Аббревиатура PHP в далеком 1994 году означала «Personal HomePage».

С тех пор прошло 14 лет, движок PHP переписывался с нуля два раза (если мне не изменяет память), обрастая «взрослой» функциональностью и разбивая стереотипы своей ограниченности проектами уровня Фейсбука и Википедии.
Стоит подождать ещё самую малость и выйдет PHP 5.3 с долгожданными неймспейсами, незаслуженно игнорируемым Late Static Binding и некоторыми добавками синтаксического сахара.
Читать дальше →
Total votes 117: ↑104.5 and ↓12.5 +92
Views 2.1K
Comments 97