Author Archives: bullgare
Новое в PHP 5.3.0: Позднее статическое связывание
Поздним называется потому, что использование static:: будет означать вычисление класса/объекта, к которому будет относиться вызов, в момент вызова этой конструкции. А статическим — потому что работает и для статических методов (но не только для них).
Новое в PHP 5.3.0: Неймспейсы (пространства имён)
Неймспейсы Служат для разрешения проблемы коллизий имён переменных/функций/классов.
Работа с ревизиями в CouchDB
Здесь пишут, что не надо полагаться на ревизии, т.к. они стираются при репликации и при сжатии (compaction) базы. Тем не менее посмотрим пример (работаем с данными, приведёнными в предыдущем посте):
Пример работы с view в CouchDB
Вместо индексов в CouchDB используется map/reduce. Часто хватает создания одной только map-функции вида
PHPillow — php-библиотека для работы с CouchDB
«официальный» сайт объяснение работы с CouchDB через php
Установка CouchDB под Windows
Честно пытался поставить всё сам в соответствии с официальной Wiki. Почти получилось. Но так и не смог забороть эксепшн ** exception exit: «I?eei?aiea ia auei caiouaii, iineieueo iii iaei??aeoii iano?iaii. Iiaoi?iay onoaiiaea i?eei?aiey ii?ao ?aoeou aaiio? i?iaeaio.» in function couch_util:start_driver/1 in call from couch_server_sup:start_server/1 Пришлось воспользоваться ссылкой на бинарники CouchDB под Windows (полный «пак») и …
PHPUnit в MVC-подобных системах
Установка PHPUnit производится через PEAR (Описание на англ.). Главное дальше — это научить систему работать не только (а лучше — совсем не) с серверными переменными вроде $_SERVER[‘REQUEST_URI’], а с переданными урлами (чтобы эмулировать обращение к конкретной странице) (Dependency Injection). В рассматриваемом конкретном случае предполагается в начале каждого теста подгружать файл TestInit.php. Листинг1. TestInit.php <? $_SERVER[‘HTTP_HOST’] …
Создание 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/ (англ.)
CouchDb — что почитать
CouchDb — это документоориентированная база данных. Само хранилище — это набор документов, неструктурированных. Точнее, индексированных только по ключу. Плюс к документам есть набор view, то есть срезов, отображающих с помощью функций map/reduce множество документов в список {key, value}, отсортированный, естественно, по ключу (map, как водится, создаёт «срезы», reduce — выбирает по ключу). То есть view …