-1.87
Рейтинг
0.01
Сила

Mirocow (PHP Developer)

Контроль порядка выполнения хуков в шаблоне

Есть планин А, есть плагин Б. Оба плагина с помощью хука Hook_1 делают инъекцию кода в шаблон.
Как упорядочить очередность инъекции через один хук?

Нашел lifehack, вручную прописать очередность подключения плагинов в plugins.dat, но это поможет не всегда.
Если кто знает, подскажите, пожалуйста.

Как из хука получить topicid

Здравствуйте, вопрос следующий:
У меня есть хук определенный в шаблоне.
При его вызове не надо определить ид топика для которого он был вызван:
host/blog/61.html
мне надо выудить 61.
Если я работаю через Router тогда $id = Router::GetActionEvent(); выдает мне 61.html
Я какбы из этого могу выудить 61 но будет ли это универсальным способом?

Архитектура LS:: Мапперы

Представляю первую статью цикла статей об архитектуре livestreet, я думаю будут и продолжения. Исходные коды примера, приведенные здесь доступны на github.

1. Что такое маппер
Ну-с начнем, и начнем с того, что определим, что такое маппер? Маппер, или конкретнее Data Mapper является одним из стандартных паттернов проектирования программных средств, определенный в LS как PHP-объект наследуемый от базового, для всех мапперов класса Mapper. Основным назначением маппера является отделение логики хранения данных от бизнес-логики самого приложения. Маппер содержит методы, реализующие операции CRUD (Create-Read-Update-Delete) над одной или несколькими таблицами по «просьбе» объекта. Маппер является интерфейсом между объектами и базой данных, средством, повышающим уровень абстракции в архитектуре приложения.

Читать дальше →

Плагин "Мнения" - расширенный функционал голосования


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

Дальше подробнее и с картинками

Еще раз про Кэширование

Я вернусь к уже избитой теме про кэширование данных livestreet-ом, поскольку из комментов и вопросов замечаю явное непонимание используемых механизмов. Несмотря на уже существующий материал, за последние дни я уже столкнулся с несколькими случаями такого непонимания. В этом топике я расскажу про механизмы кэширования, где и как они используются, а именно про:
1. Реализуемый механизм кэширования.
2. Кэширование шаблонов Smarty.
3. Компрессию js и css-файлов, хотя напрямую к кэшированию и не относиться.

Читать дальше →

Рецепт добавления поля в диалог регистрации пользователя

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

Постановка задачи: необходимо добавить в форму регистрации пользователя поле «Имя пользователя» из его, пользователя, профиля.
Задача решается последовательно в несколько шагов:
Шаг 1. Добавление текстовки в языковой файл.
Шаг 2. Добавление поля в форму регистрации.
Шаг 3. Добавление правила валидации элемента.
Шаг 4. Обеспечение записи элемента при валидации.
Шаг 5. Доработка всплывающего окна с регистрацией.
Шаг 6. Доработка маппера.

Читать дальше →

Установка eaccelerator на чистый деб, на котором есть только nginx+php-fpm, mysql, Sphinx

Делать было нечего поставил eAccelerator, ну и решил написать инструкцию как его ставить на деб с nginx+php-fpm

eAccelerator
Бесплатный свободный PHP акселератор, оптимизатор, и динамический кэш. Он увеличивает производительность PHP скриптов, кешируя их в их скомпилированном виде. Также оптимизация увеличивает скорость работы скриптов. eAccelerator обычно уменшает нагрузку на сервер и увеличивает скорость PHP кода в 1-10 раз.

Читать дальше →

Идея плагина "Расширенные теги"

Захотелось сделать что-то подобное кинопоиску. Где навигация идет по разного рода тегам.

Плагин должен
— добавлять возможность создавать группы тегов,
— определять принадлежность к разным типам топиков или блогов.
— задавать параметры валидации.

В общем в скриншотах то, что получилось.

Читать дальше →

Три новых фичи в админке (Обновлено)

Во-первых, хочу сообщить, что aceAdminPanel переходит в статус release candidate. Это значит, что новые фичи в текущую версию добавляться не будут. Еще несколько дней тестов и багфиксов, и финальный релиз пойдет в каталог.

Я знаю, что есть пара фич, которые были в прошлой версии, но не перешли пока в эту. Они будут реализованы в следующей версии.

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