01 Ноя 2011

JetBrains PHPStorm VS NetBeans

Category: PHP,СтатьиFractalizeR @ 10:57

Читая статью на Хабре про скидки на PHPStorm, которым я давно уже пользуюсь и очень доволен, набрел в комментах на отличный список преимуществ PHPStorm перед Netbeans. Не могу удержаться от цитирования:

Читать дальше «JetBrains PHPStorm VS NetBeans»


22 Ноя 2010

Регулярка для ника: либо по-русски, либо по-английски, но не смешивая

Category: PHP,СтатьиFractalizeR @ 18:02

Недавно меня попросили написать регулярное выражение, которое бы пропускало ники на форуме написанные либо целиком русскими буквами, либо целиком английскими (чтобы не допускала смешение букв). На форуме используется кодировка UTF-8.

^(([a-zA-Z0-9_\-\?]+)|(((\xD0[\x80-\xBF])|(\xD1[\x80-\xBF])|([0-9_\-\?]))+))$

Вот она такая получилась. Обратите внимание, что пробелы запрещены. Если требуется их разрешить, можно добавить после 0-9 \x20.


22 Ноя 2010

Регулярное выражение для русских букв в UTF-8

Category: PHP,СтатьиFractalizeR @ 13:23

(\xD0[\x80-\xBF])|(\xD1[\x80-\xBF]) — одна любая русская буква


13 Ноя 2010

Примеси VS делегирование: преимущества и недостатки при реализации «плагинов»

В данной статье я предлагаю вам свой взгляд на выбор использования примесей или делегирования в проектах для внесения в класс нового функционала.

Начальные условия такие: мы рассматриваем примеси, имеющие свое состояние и имеющие доступ ко всем членам класса-агрегатора. Все публичные члены класса примеси становятся частью агрегатора. Мы оставляем за кадром вопрос быстродействия.

В основном данная статья относится к PHP, но с некоторыми оговорками подходит и для многих других динамических языков, позволяющих тем или иным способом реализовывать примеси.

Читать дальше «Примеси VS делегирование: преимущества и недостатки при реализации «плагинов»»


12 Ноя 2010

ООП практикум в PHP5: Анализ ошибок, преимуществ и недостатков двух реализаций примесей в PHP

Category: PHP,СтатьиFractalizeR @ 11:40

После выхода моей статьи о примесях мы продолжали дискуссии и в комментариях к статье и в личных сообщениях. Сегодня увидел в моем блоге комментарий от читателя, который попросил объяснить, в чем я вижу преимущество своей реализации перед реализацией Леонида Шлейхера.

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

Читать дальше «ООП практикум в PHP5: Анализ ошибок, преимуществ и недостатков двух реализаций примесей в PHP»


07 Ноя 2010

ООП Практикум PHP5: эмуляция примесей (mixin) в языке

Category: PHP,СтатьиFractalizeR @ 22:49

Как-то вечером для реализации моделей поведения в ORM в моем велосипеде фреймворке мне понадобилось что-то, ведущее себя как примесь (mixin) в Ruby или как метод расширения (extension method) в C# (или как трейт / графт в будущих версиях PHP) Я решил для интереса посмотреть, как у меня получится реализовать примеси на PHP. Если вы не знаете, что такое примесь, не беда, сейчас все расскажу.

Приглашаю последовать за мной в рассуждениях о реализации примесей на PHP и программировании небольшой библиотеки, позволяющей их реализовать. Статья ориентирована на PHP разработчиков начинающего и среднего уровня. В процессе я также сделаю небольшую ошибку, касающуюся тонкостей работы PHP 5.3 с классами, через какое-то время на нее укажу и предложу исправить. А также предоставлю свое решение для вашей критики. Приятного чтения.

Читать дальше «ООП Практикум PHP5: эмуляция примесей (mixin) в языке»

Метки: , ,