Статьи в категории
Factory Pattern в PHP
Евгений Загородний |
Нередко в программе бывает необходимо произвести несколько однотипных действий. В таких случаях целесообразно пользоваться Factory Pattern, о котором и пойдет речь. Рассматриваемые приемы довольно естественны, поэтому не удивляйтесь, если обнаружите, что пользовались ими раньше, не подозревая о Factory Pattern. |
темы: php factory design pattern extract method |
Глава 1. Представляем Symfony
Алексей Гоголев |
Перевод первой главы "Introducing Symfony" онлайн-книги "Definitive guide to Symfony". Что необходимо для работы с symfony? Какие возможности обеспечивает symfony? Здесь вы найдете ответы на эти вопросы. |
темы: symfony symfony book definitive guide to Symfony magic method PEAR Object-Relational Mapping ORM Rapid Application Development RAD YAML |
CakePHP & mod_rewrite
Андрей Друченко |
В последней версии CakePHP (на момент написания этого документа — 1.1.6.3264) при установке Сake на win32, PHP 4.4.1 + Apache 1.3 обнаруживаются проблемы по части файлов .htaccess. Проблема заключаюется в том что файл .htaccess, в самом корне CakePHP, не работает. |
темы: CakePHP mod_rewrite setup ЧПУ |
Value Object Pattern в PHP
Алексей Гоголев |
Примерами value object могут служить такие вещи как числа, даты, деньги. Value object — это объект, предназначенный для хранения и каких-то простых данных, которые должны оставаться неизменными в течении всей жизни приложения. |
темы: php value object design pattern |
Strategy Pattern в PHP
Алексей Гоголев |
Идея Strategy Pattern состоит в том, чтоб создать набор классов доступ к методам которых, осуществлялся бы одинаково. Структура этого набора классов должна быть такова: 1) один абстрактный класс, который содержит одинаковые для каждого случая методы 2) классы, которые наследуют абстрактный класс и предназначены для конкретного случая |
темы: php strategy design pattern |
Singleton Pattern в PHP
Алексей Гоголев |
Singleton Pattern — один из наиболее известных шаблонов проектирования. Почти в любой |
темы: php singleton design pattern |
Symfony — PHP5 MVC Фреймворк
Алексей Гоголев |
Symfony — PHP5 фреймворк с открытым кодом. В основе Symfony — MVC и ORM Propel. Symfony отличается прозрачным дизайном, читаемостью кода и позволяет разработчику сконцентрироваться на принципах быстрой разработки (agile development) — DRY, KISS, XP. Предназначен в первую очередь для масштабных php-приложений уровня enterprise. В статье подробно рассмотрены способы установки — Symfony sandbox и установка через PEAR. |
темы: symfony rapid development framework install php |
Поиск Yandex.XML в PHP
Андрей Друченко |
В статье описывается поисковый XML сервис от Яндекса, приводится примерный код на PHP4 c использованием XSLT парсера Sablotron для запроса и отображения поисковых результатов с сайта. Решение на базе Yandex.XML оказывается более всего подходящим для средних сайтов на shared хостингах при условии, что Яндекс их уже проиндексировал. |
темы: Yandex.XML php XSLT Яндекс |
Использование MySQL C API в среде KDevelop
Евгений Загородний |
Как известно, связь с MySQL из PHP затруднений не вызывает. Однако если необходимо провести ресурсоемкие вычисления, основанные на содержимом БД, PHP может оказаться непроизводительным. В статье дано описание того, как создать и скомпилировать элементарное приложение C/C++ в Linux/FreeBSD использующее СУБД MySQL. |
темы: mysql mysqlclient KDevelop mysql c api |
AJAX с использованием Prototype
Андрей Друченко |
Описан самый простой пример использования AJAX средствами Prototype javascript фреймворка. Поясняется основная идея и принцип действия AJAX приложения на практическом примере. |
темы: ajax prototype javascript |
Symfony — создание проекта
Алексей Гоголев |
Создание базового проекта в условиях фреймворка symfony и его структура. Настройка веб-сервера Apache для проекта. Использование пакета Pake для инициализации базовой файловой структуры приложений и модулей. |
темы: symfony first project pake rapid development framework project application module |
Глава 2. Исследуем код symfony
Алексей Гоголев |
На первый взгляд приложение cделанное на symfony может выглядеть отпугивающим. Много директорий, скриптов, классов, HTML-файлов, или даже смеси PHP с HTML. В коде используются какие-то классы, которых не содержит папка с приложением, а дерево директорий жутко глубокое, порой доходит до шести уровней. Но как только вы поймете причины этой кажущейся сложности, все вышеописанное покажется вам таким естественным, что вы не обменяйте структуру symfony ни на какую другую. Эта глава призвана убрать возможно возникшее у вас чувство испуга. |
темы: symfony symfony book definitive guide to Symfony MVC MVC pattern project application module data access layer database abstraction layer class autoloading parameter holder action front controller |
Глава 3. Запускаем symfony
Алексей Гоголев |
В этой главе рассматриваются различные способы установки symfony (как sandbox, через PEAR, через SVN) и их преимущества. Также описано как создать проект, как поставить разрабатываемое приложение на контроль версий, как настроить веб сервер (shared-host не остался без внимания). Разобраны типичные проблемы, с которыми можно столкнутся, при установке. Приведен перечень ресурсов сообщества symfony которые могут помочь при установке фреймворка. |
темы: symfony symfony book definitive guide to Symfony sandbox REAR SVN Subversion project application virtual host web server URL rewriting shared-host source versioning |
Глава 4. Основы cоздания cтранички
Алексей Гоголев |
Эта глава расскажет как создать модуль (module) — структурный элемент, содержащий группу страничек, как создать страничку, которая согласно MVC pattern разделена на действие (action) и шаблон (template). Будет рассмотрено, как создавать и обрабатывать ссылки и формы (form) — базовые элементы для взаимодействия с пользователем. |
темы: symfony symfony book definitive guide to Symfony URL rewriting routing routing system form helper |
Модальные окна в веб-приложениях
Андрей Друченко |
В материале рассмотрены некоторые из известных автору JavaScript библиотек предоставляющих функционал для реализации модальных окон в веб-приложениях. Большинство участников обзора используют яваскрипт фреймворк Prototype, среди них: LightBox Gone wild, Control.Modal, subModal, Prototype window, ModalBox. Дана сравнительная характеристика по 4-м параметрам 1) Развитость API 2) Кроссбраузерность 3)Размеры кода 4) Документация |
темы: javascript modal window modal LightBox LightBox Gone wild Control.Modal subModal Prototype window ModalBox |
Глава 5. Конфигурируем symfony
Алексей Гоголев |
Эта глава объясняет, как работают конфигурационные файлы: 1)Настройки symfony хранятся в файлах написанных на YAML, хотя вы всегда можете выбрать другой формат. 2)Конфигурационные файлы могут находиться на уровне проекта, приложения, и модуля в файловой структуре проекта. 3)Вы можете задать несколько наборов настроек; в symfony, такой набор настроек называется режимом или средой (environment). 4)Заданные в конфигурационных файлах значения доступны из PHP кода вашего приложения. 5)В YAML файлах symfony можно пользоваться PHP и другими приемами. Это делает конфигурационную систему более гибкой. |
темы: symfony symfony book definitive guide to symfony configuration YAML environment cache sfConfig configuration files |
Pylons: python-фреймворк
Евгений Загородний |
Знакомство с веб-фреймворком Pylons на языке python, использующего шаблон MVC. Подробное описание создания простейшего приложения, обработки форм, взаимодействия с базой данных. |
темы: Pylons python framework web server MVC Rapid Application Development MVC pattern first project install |
Глава 6. Внутри контроллера
Алексей Гоголев |
Глава полностью посвящена части controller MVC архитектуры фреймворка Symfony. Подробно рассмотрены следующие темы: работа фронт-контроллера, организация действий, безопасность и ограничение доступа, batch файлы, работа с сессией, получение информации о запросе с помощью singleton класса sfWebRequest, настройки модуля, система валидации запроса, работа с повторяющимся кодом, идея фильтров в symfony, расширение возможностей фреймворка с помощью своих фильтров. |
темы: symfony symfony book definitive guide to symfony controller front controller environment batch files action action class forward redirect request session flash attribute security сredential validation filter module configuration |
Шлюз с авторизацией и динамическим распределением канала на базе pf+altq и authpf
Евгений Загородний |
Эта статья немного неформат для нашего блога о веб-деве, но возможно будет полезна для юниксоидов и продвинутым админам. Имеется локальная сеть и канал провайдера. Задача — обеспечить определенным пользователям сети доступ к каналу провайдера. При этом ширина канала ограничена, поэтому его необходимо распределить между пользователями «справедливо», то бишь поровну, но при этом по возможности максимально использовать его ширину. Решение «поставить для каждого пользователя ограничение ширина_канала/количество_пользователей» по очевидным причинам неприемлемо — при такой политике полная ширина канала будет задействована очень редко, так как глупо ожидать, что все пользователи будут пользоваться им одновременно и полностью исчерпывать свою «долю». Варианты вроде «собрать статистику и поставить ограничение, исходя из среднего количества активных пользователей» тоже восторга не вызывают, по тем же причинам. Вывод — фиксированное ограничение скорости тут не пройдет, надо копать глубже. |
темы: Шлюз NAT pf altq authpf динамическое распределение канала |
Учимся верстать XHTML и CSS с нуля.
Андрей Друченко |
В этом материале рассмотрено практическое применение стандартов XHTML / CSS при создании веб-страниц. Статья рассчитана на базовый уровень подготовки, предполагается что читатель хоть немного знаком с понятиями верстки вообще, слыхал о HTML/XML и принципе разделения структуры информации и ее представления. После ее прочтения самое время начать верстать дивами! |
темы: xhtml css tutorial обучение дивная верстка браузерные хаки |
Event-driven AJAX application architecture
Андрей Друченко |
В этом материале мы поговорим о том как порядочно организовать структуру и взаимодействие внутри «чистого» AJAX приложения. Под «чистым» AJAX приложением подразумевается то которое работает не вызывая перезагрузок начальной страницы. Т.е. после того как приложение загрузилось, никакие действия пользователя не превращаются в перезагрузку и типовый переход на новую страницу (в частности по переходу по ссылке) |
темы: AJAX event-driven prototype architecture |
Обзор UAWEB 2008, день первый
Андрей Друченко |
Обзор uaweb 2008, день первый. Сегодня состоялся первый день первой всеукраинской конференции веб разработчиков UAWEB-2008. Мне выпал шанс посетить мероприятие подобных масштабов впервые (Семинары exception.org.ua не в счет :) Постараюсь рассказать свое предвзятое мнение и вставить свои пять копеек о том что было на конференции. |
темы: uaweb uaweb2008 1 day день первый |
Обзор UAWEB 2008, день второй — завершение.
Андрей Друченко |
Программа второго дня оказалась более насыщенной и интересной, в первую очередь из-за лучшего качества и тематики докладов. Из посещенных мною докладов очень порадовали Егор Егоров рассказавший о построении высоконагрузочных систем, Алексей Кривицкий из AgileUkraine а также Paul Gokin с докладом о юзабилити-тестировании. |
темы: uaweb uaweb2008 2 day день второй |
Валидация форм в CakePHP 1.2
Андрей Друченко |
В этой статье показывается пример организации валидации типовых форм (типа login / register ) с помощью новой схемы валидации в MVC фреймворке CakePHP 1.2 В тексте мало слов и много кода, некоторые куски которого можно просто скопировать (CSS) а в некоторые придется вникнуть, для лучшего понимания того как работает вся система валидации в связке Model-View-Controller. |
темы: cakephp cakephp1.2 validation forms |
Вторая встреча Java User Group Херсон
Андрей Друченко |
Волею судеб меня занесло в славный город Херсон, где я впервые попал на местную девелоперскую тусовку. Честно говоря, вначале я был несколько предвзятого мнения о предстоящем мероприятии, ибо 1)Провинция 2)Java -- это не мое, и местами меня сильно от нее тошнит (поскольку я занимаюсь вебом, а Ява для создания веб приложений -- сакс) 3)Заявленные темы не вдохновляли. Но, на мое удивление мероприятие прошло весьма весело и продуктивно =) Познакомился с парой интересных людей, фамилий некоторых не знаю, надеюсь они засветятся в комментах. |
темы: JUG Java User Group Kherson Херсон |
Валидация форм в symfony
Сергей Харчишин и Ольга Харчишина |
Эта глава продолжает описывать систему валидации форм фреймворка symfony. В главе рассказывается о простых валидаторах, их опциях, глобальных валидаторах, о том как можно комбинировать различные валидаторы, а также о том как обеспечить защиту от злонамеренных запросов. |
темы: symfony forms validation |
Создание поискового плагина для браузера Firefox
Алексей Гоголев |
В статье рассказывается как сделать поисковый плагин для браузера Firefox, что такое формат OpenSearch, и как обеспечить установку плагина в два клика мышью. Вся эта кухня даст возможность пользователю использовать поиск вашего сайта вместо поисковой строки Google (в правом верхнем углу браузера Firefox). Все вопросы разобраны на примере поисковой системы Pricing.com.ua. Есть картинки :) |
темы: OpenSearch Firefox plugin suggestion search |