Category Archives: Programming

Новое в PHP 5.3.0: Позднее статическое связывание

  • 08, 05, 2009
  •  
  •  php, Programming
  • Комментарии к записи Новое в PHP 5.3.0: Позднее статическое связывание отключены

Поздним называется потому, что использование static:: будет означать вычисление класса/объекта, к которому будет относиться вызов, в момент вызова этой конструкции. А статическим — потому что работает и для статических методов (но не только для них).

Новое в PHP 5.3.0: Неймспейсы (пространства имён)

Неймспейсы Служат для разрешения проблемы коллизий имён переменных/функций/классов.

Пример работы с view в CouchDB

Вместо индексов в CouchDB используется map/reduce. Часто хватает создания одной только map-функции вида

PHPillow — php-библиотека для работы с CouchDB

«официальный» сайт объяснение работы с CouchDB через php

PHPUnit в MVC-подобных системах

Установка PHPUnit производится через PEAR (Описание на англ.). Главное дальше — это научить систему работать не только (а лучше — совсем не) с серверными переменными вроде $_SERVER[‘REQUEST_URI’], а с переданными урлами (чтобы эмулировать обращение к конкретной странице) (Dependency Injection). В рассматриваемом конкретном случае предполагается в начале каждого теста подгружать файл TestInit.php. Листинг1. TestInit.php

Проблема …

Read more

Создание WYSIWYG-редактора

http://xpoint.ru/know-how/WYSIWYG/TrueJavaScriptEditor — статья о том, как написать wysiwyg-редактор. Не всё правильно, но для начала очень даже ничего. http://www.mozilla.org/editor/midas-spec.html — список команд и правила их использования. Некоторые особенности реализации designMode-элементов в firefox. http://msdn.microsoft.com/en-us/library/ms536419(VS.85).aspx — execCommand в internetExplorer http://msdn.microsoft.com/en-us/library/ms537834(VS.85).aspx — некоторый туториал по написанию wysiwyg-редактора под internetExplorer от MicroSoft;) http://code.google.com/p/jwysiwyg/ — очень простой wysiwyg-редактор, использующий библиотеку jQuery.

Справочники по Javascript

http://javascript.ru/manual — справочник; сайт очень добротный, с подробным объяснением, где, что и зачем (http://javascript.ru/manual.zip) — оффлайн-версия https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide (англ.) — подробные справочники от Mozilla не очень подробные справочники, зато с алфавитным указателем: http://www.devguru.com/technologies/ecmascript/quickref/javascript_index.html (англ.) — по ecmascript http://devguru.com/technologies/javascript/index.asp (англ.) — по клиентскому javascript-у http://www.javascriptkit.com/jsref/ (англ.)

Паттерн Decorator (Wrapper) в php

Паттерн «Decorator» («Wrapper») динамически добавляет объекту новые обязанности. Является гибкой альтернативой подклассам, расширяющим базовый класс.

Кеширование php-кода в промежуточный (байт-) код: APC

документация (англ.) Всё очень просто. в php.ini добавить [APC] extension=apc.so #(.dll) apc.enabled = 1 apc.shm_segments = 1 apc.shm_size = 128 apc.max_file_size = 10m #apc.stat = 0 для статистики apc.stat_ctime = 1 *apc.stat_ctime=1 — очень важно при работе через «export» системы контроля версий (SVN). Вот для чего: SVN на самом деле создает новые файлы, заменяет старые, …

Read more

Паттерны проектирования в php

Введение Шаблоны проектирования были представлены общественности в книге Design Patterns (Erich Gamma, Richard Helm, Ralph Johnson и John Vlissides (известные как «банда четырёх»)). Основная концепция, представленная во введении, была простой. За годы разработки программного обеспечения Gamma и сотоварищи открыли определённые шаблоны («паттерны») проектирования, как и архитекторы, строящие дома и здания, могут разработать шаблоны расположения уборных …

Read more