Fractalizer’s Weblog

Просто мой блог. Основная тема – программирование

Блог переехал

Опубликовал FractalizeR на Август 18, 2008

По некоторым причинам я перемещаю блог на свой личный домен www.fractalizer.ru

Основную часть блога я теперь буду вести на английском, поскольку (возможно, к сожалению) так сложилось, что основная часть заинтересованных читателей так или иначе владеет английским (по моему, возможно, ошибочному мнению, программист, не зависимо от национальности, не владеющий английским языком, – нонсенс).

Приношу свои извинения тем, кому это доставит неудобства.

Рубрика: Uncategorized | Оставьте комментарий »

Zend Framework -> Zend_Session – удобная ОО-работа с $_SESSION

Опубликовал FractalizeR на Ноябрь 9, 2007

Назначение и возможности

Zend_Session и Zend_Session_Namespace предназначены для удобной работы с глобальной переменной $_SESSION. Использование объектов предоставляет следующие преимущества:

  • ОО-доступ к переменным сессии
  • Автоматическая проверка на XSS-атаки (с помощью классов Zend_Session_Validator_*)
  • Zend_Session_Namespace позволяет иметь как бы несколько независимых друг от друга частей сессии – пространств имен
  • Каждое отдельное пространство имен можно блокировать/разблокировать, управляя возможностью вносить в него изменения, а также читать статус блокировки
  • Можно создавать несколько объектов Zend_Session_Namespace, обращающихся к одному и тому же пространству имен, а также запрещать создавать такие дубликаты
  • Можно управлять временем жизни как пространства имен, так и отдельных его элементов

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

Рубрика: PHP, Zend Framework, Мои статьи | Помечено: , , , , , , , | Оставьте комментарий »

Zend Framework -> Zend_Config: работаем с настройками

Опубликовал FractalizeR на Ноябрь 8, 2007

Назначение и возможности

Класс Zend_Config предназначен для единообразной работы в ОО-стиле с конфигурационными файлами в трех (в 1.02) форматах: PHP Array (просто PHP файл с данными, представленными в виде массива PHP), INI-формата Windows и XML.

Zend_Config поддерживает древовидную структуру данных произвольной глубины. В формате PHP массивов и XML эта возможность поддерживается самим форматом, а в INI папки первого уровня – секции INI файла, а все последующие уровни обозначаются внедрением разделителя в имя опции внутри секций (об этом далее).

В формате PHP массивов поддерживаются все типы данных, которые вы только пожелаете сохранить в настройки, формат INI ограничен возможностями функции parse_ini_file, которая используется для парсинга (советую перед использованием конфигурационных файлов в этом формате внимательно прочитать документацию по этой функции и комментарии пользователей к ней. Есть достаточное количество дефолтов и ограничений), а из формата XML все данные возвращаются в текстовом виде.

При использовании форматов INI и XML есть возможность наследовать настройки одного раздела от другого.

Следует иметь ввиду, что as-is Zend_Config хоть и позволяет изменять значения внутри объекта конфигурации, но записывать измененный вариант он не может. Если такой функционал требуется, лучше обратиться к пакету Config из PEAR, который обладает куда большим количеством поддерживаемых форматов и возможностью конвертирования из одного формата в другой (и много-много всего другого!).

Прочтите эту запись до конца »

Рубрика: PHP, PHP, Zend Framework, Библиотеки, компоненты, Движки, CMS, Мои статьи | Помечено: , , , , , , | Комментарии (2) »

Zend Framework – новый PHP фреймворк от Zend

Опубликовал FractalizeR на Ноябрь 8, 2007

Не так давно состоялся финальный релиз версии 1.0-1.02 фреймворка от Zend для PHP. Пользуясь поддержкой практического монополиста рынка PHP решений, этот фреймворк обещает стать стандартом де-факто на серверах, таким же, каким сейчас является PEAR.

Сам фреймворк центрирован вокруг Web-служб, авторизации и аутентификации и MVC. В дальнейшем разработчики обещают обратить внимание на веб-формы (аналог HTML_QuickForm из PEAR) и Ajax.

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

В Zend Framework 1.02 входят следующие классы:

Прочтите эту запись до конца »

Рубрика: PHP, Библиотеки, компоненты, Движки, CMS | Помечено: , , , | Оставьте комментарий »

Zend Studio Neon – одна из самых мощных IDE для PHP

Опубликовал FractalizeR на Ноябрь 8, 2007

Не так давно вышел новый Zend Studio Neon Beta. Zend Studio Neon – это новая Zend Developer Studio, основанная на Eclipse. Кажется, в Zend поняли не особую перспективность дальнейшей разработки собственного тормозящего движка и решили воспользоваться готовеньким, то есть Eclipse, у которой более 2 миллионов пользователей. Разработав PDT как бесплатный Core, чтобы подключить opensource разработчиков, они выпустят на ее основе Neon, такой новенький и блестящий.

Честно говоря, судя по описанию, Neon не сильно превосходит PDT, по крайней мере в первой версии. Разве что поддержкой расширенного рефакторинга и поддержкой Zend Framework. Полный список отличий есть тут: http://www.zend.com/products/zend_studio/eclipse/compare

Саму студию можно скачать отсюда: http://downloads.zend.com/studio-eclipse/BETA/ZendStudioNeon-BETA.exe

Поработаю, посмотрим, на что она способна.

Рубрика: PHP, Инструменарий разработчика, Среды разработки | Помечено: , , , , , , , | Оставьте комментарий »

Устанавливаем и настраиваем Eclipse PDT (PHP Development Tools)

Опубликовал FractalizeR на Ноябрь 2, 2007

Эта статья будет посвящена работе с Eclipse PDT – одной из лучших OpenSource сред для программирования на PHP.

1. Установка PDT

Заходим на главную страницу проекта, затем переходим по ссылке Download слева. Кликаем по последнему Release Build. Качаем сборку PDT All-in-One (около 120Мб). Распаковываем архив в любую папку на вашем компьютере. Запускаем eclipse.exe.

Выбор рабочей области в Eclipse

В появившемся окне нужно указать папку, в которой Eclipse в дальнейшем будет хранить все ваши проекты и их файлы. Обычно все это можно оставить по умолчанию. После нажатия Ok через некоторое время запустится Eclipse.

2. Устанавливаем нужные плагины

Прочтите эту запись до конца »

Рубрика: Eclipse, PHP, PHP, Мои статьи, Среды разработки | Помечено: , , , , , , , | Комментарии (8) »

STUNT – библиотека для общения программ через NAT

Опубликовал FractalizeR на Октябрь 29, 2007

Эта замечательная библиотека реализует известные алгоримы обхода NAT и позволяет двум программам общаться между собой даже если они обе сидят за NAT.

Поддерживаются и UDP и TCP протоколы.

Основной сайт проекта: http://nutss.gforge.cis.cornell.edu/stunt.php (Java реализация)
Порт библиотеки на C#: http://www.codeplex.com/Wiki/View.aspx?ProjectName=SharpStunt
C++ порт: http://www.cis.nctu.edu.tw/~gis87577/xDreaming/XSTUNT/index.html

«Соперники» STUNT: ICE, TURN

Рубрика: Инструменарий разработчика, Разное | Помечено: , , , | Оставьте комментарий »

Propel – Object Relational Mapping (ORM) framework для PHP5

Опубликовал FractalizeR на Октябрь 29, 2007

Интересный Framework для PHP5, который позволяет вам сначала описать вашу базу данных в XML, после чего парсер Propel построит набор бизнес-объектов для удобной работы с ней:

======================================================================
<database name="bookstore">
  <table name="book">
    <column name="book_id" type="INTEGER" required="true" primaryKey="true"/>
	   <column name="title" type="VARCHAR" size="50" required="true" />
  </table>
</database>
======================================================================
// Создаем бизнес объект
$b = new Book();
$b->setTitle("War & Peace");
$b->save();
 // Делаем выборку
$c = new Criteria();
$c->add(BookPeer::TITLE, "War%", Criteria::LIKE);
$c->setLimit(10);
 $books = BookPeer::doSelect($c);
 foreach($books as $book) {
  print "<br/>" . $book->getTitle();
}
?>
======================================================================
 Прочтите эту запись до конца »

Рубрика: PHP, Библиотеки, компоненты, Инструменарий разработчика | Оставьте комментарий »

FMOD Ex – бесплатный мультиплатформенный звуковой движок

Опубликовал FractalizeR на Октябрь 29, 2007

Популярный аудиодвижок для игр и не только. Бесплатен для некоммерческого использования.

Этот движок используется в играх таких монстров индустрии, как Blizzard, Bethesda, Activision, THQ и и многих других.
Прочтите эту запись до конца »

Рубрика: Инструменарий разработчика, Разное | Помечено: , , | Оставьте комментарий »

Генератор компиляторов Coco/R

Опубликовал FractalizeR на Октябрь 29, 2007

Coco/R – генератор компиляторов. Многие компиляторы .NET-вариантов языков программирования создавались с использованием Coco / R.

Вы задаете набор правил грамматики языка, а по ним Coco / R построит классы парсера и компилятора.

Coco/R портирован на C#, Java, C++, VB, Oberon, Pascal, Modula-2, Delphi, Ada, Ruby, Unicon

Сайт проекта: http://www.ssw.uni-linz.ac.at/Research/Projects/Coco/

Рубрика: Инструменарий разработчика, Разное | Помечено: , , , , , , , , , | Оставьте комментарий »