Magento: добавление обсервера «на лету»

magentoКак то раз, при разработке кастомного функционала для Magento, я столкнулся с необходимостью расширения дефолтного грида (добавление новой колонки). Задача в целом тривиальная, но загвоздка была в том, что грид подгружался по требованию аяксом. Делать оверрайд класса грида мне не хотелось, и я начал копать как это лучше сделать с помощью обсервера, чтобы не вызывать его каждый раз, когда файрится ивент adminhtml_block_html_before. Оказалось, для решения такой задачи есть небольшая хитрость, а именно — добавление обсервера «на лету». Для этого нам нужно создать вот такой метод:

Читать далее

Настройка Sphinx и MongoDB

Sphinx + MongoDB, PHPСегодня я хочу поговорить о том, как настраивал работу sphinx с NoSQL базой данных — MongoDB. Передо мной стояла задача реализовать поиск по комментариям, учитывая три параметра — логин пользователя, ник(для незарегистрированных комментаторов) и поиск по тексту. Итак, начнем. Читать далее

PHP: Базовые паттерны и алгоритмы. Поворот матрицы

PHP patternsПродолжаю серию «технических статей» о приключениях программиста на собеседованиях. Стыдно признаться, но этот элементарный алгоритм я не смог реализовать в нужный момент. Итак, поворот матрицы NxN на 90 градусов. Читать далее

PHP: базовые паттерны и алгоритмы. Singleton

PHP patternsВ последнее время остро встал вопрос смены места работы, в связи с чем пришлось вспоминать и изучать много вещей, которые любят спрашивать интервьюверы на собеседованиях. После нескольких фейлов на элементарных вещах, я решил написать серию статей о базовых понятиях, которые должен знать каждый программист. В основном, тематика статей будет касаться паттернов и алгоритмов. Аудитория — новички или лентяи вроде меня, которые за несколько лет программирования так и не удосужились прочесть ни одной книги по архитектуре приложений. Читать далее