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

Как же удалось избавиться от глобальных переменных? Я завел новый класс litepublisher, который находится в корневом index.php и в котором определены статические свойства. Свойств немного: classes, options, urlmap - они соответствуют старым глобальным переменным. По сути произошла замена конструкции вида


global $options;
$url = $options->url;

На конструкцию


$url = litepublisher::$options->url;

Единственной проблемой от такого перехода стала неработоспособность строк в кавычках (". Вот исправлением этого я сейчас и занимаюсь.

Есть у меня также желание переделать массив $paths - пути к папкам блоголёта. Сейчас это массив, а хочется объекта, ну то есть вместо $paths['lib'] писать <code$paths->libСам же массив $paths я уже перенес в свойства класса litepublisher, также отказался от define('debug', ''), $domain - все это перенес в класс litepublisher.