estdomains почил в бозе предшествовала запись на блоге Программы для блогов. Закончив читать очередной роман про драконов, коим себя не ощущаю, но симпатизирую, в час ночи, я проснулся еще не было шести. Покрутившись и так и сяк, я понял, что не усну - все мои мысли занимает новая CMS - уже слишком много придумано, чтобы было легко отделаться от столь пагубной идеи. Я наверно страшно старею, раз мне хватило менее 5 часов для сна, а раньше бывало и 10 не хватало...

Засев со сранья за писание движка, подтянул свое плохое знание php - я его действительно знаю средне, так как считаю его недоязыком, и не уделял пристальное внимание, вот до сих пор не совсем понимаю механизм ссылок в этом языке - они там являются не совсем ссылками, а точнее я не догоняю в какой приблизительно ассемблерный код (о ужас! я даже асм понимаю!!) превращается скрипт. На дельфи мне просто - я знаю как писать оптимизированные программы, которые путем использования простых приемов написания кода работают быстро и не требуют лишних ресурсов. В php оптимизация кода для меня темный лес.

Реализовал сегодня механизм событий. В результате например подписка плагином на изменение постов выглядит следующим образом: Posts->OnPostEdit = Plugin-
>EventPostChanged; Расшифровывая внутреннею работу получаем следующий алгоритм:
- присваивание происходит через метод __set класса TPost, и добавляется в список событий для PostEdit
- пост вызывает событие у своего владельца Post->DoPostEdit, DoPostEdit проходит по всему списку событий, среди которых вызывает Plugin->PostChanged

Чтобы это было возможно принимается соглашение об именовании функций и свойств:
OnEventName - обработчик события EventName
DoEventName - вызывает подписанные на событие EventName функции классов
EventMyHandler - имя функции, которое подписали на событие.

Другими словами принимаются три префикса имен On, Do, Event для автоматического управления событиями. Попозже остановлюсь более подробно о механизме обработки событий.

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

head
title[title]/title
...

в квадратных скобках значение title, которое должен подставить обработчик тем. Например CodeIgniter предлагает обыкновенную замену из уже заполненного массива. Я предлагаю вызов функции title, которая может быть в каком либо классе, например TThemes. Для большей гибкости можно породить потомков от этого класса для перекрытия метода или повесит событие OnGetTitle - выбор широкий.

Идея состоит в том, чтобы максимально сделать прозрачным шаблон, разгрузив, но не исключив, от использования конструкции вида - и это в лучшем случае. Мне показался мой подход очень интересным и перспективным, уже при наличии реализованных стандартных функций, типа приведенного выше. Темами я не занимался вплотную, следует изучить подходы принятые в Wordpress, у Макса и в зебруме - по сусекам и сделать компиляцию идей.

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

Мой блог находят по следующим фразам
как восстановить базу mysql
utf-8 кодировки mysql
настройка OpenVPN
wordpress crosspost blogger
delphi 7 скачать
проблема с кодировкой в базе данных