Скорее всего, что вы правы. Я пытался устанавливать теги на кеш, а потом скидывать при изменении какого-либо значения все другие значения, с ним связанные. Но это довольно накладно и не дает особого выигрыша.
Вот кстати на Алто недавно запилили подобное.
Также там закешировали некоторые методы класса конфига.
По возможности попробую сделать для лс что-то подобное.
У меня xdebug почему-то еще пеняет на прожорливость strtolower.
В методе _CallModule strtolower используется, чтобы дать команду вызову хука.
При вызове хука (Hook_Run) опять же идет strtolower от аргумента. То есть в _CallModule strtolower можно вообще избежать.
Это сервер со старой архитектурой процессора.
+ на нем лучше видны девиации времени работы скрипта в зависимости от изменения кода, чем на быстрых серверах
$aPaging=$this->Viewer_MakePaging($aReturn['count'],$iPage,Config::Get('module.comment.nested_per_page'),Config::Get('pagination.pages.count'),'');
if (!Config::Get('module.comment.nested_page_reverse') and $aPaging) {
// переворачиваем страницы в обратном порядке
$aPaging['aPagesLeft']=array_reverse($aPaging['aPagesLeft']);
$aPaging['aPagesRight']=array_reverse($aPaging['aPagesRight']);
}
$config['module']['comment']['nested_page_reverse'] = 0; // Определяет порядок вывода страниц. true - последние комментарии на первой странице, false - последние комментарии на последней странице
Также там закешировали некоторые методы класса конфига.
По возможности попробую сделать для лс что-то подобное.
Какая версия ЛС?
В методе _CallModule strtolower используется, чтобы дать команду вызову хука.
При вызове хука (Hook_Run) опять же идет strtolower от аргумента. То есть в _CallModule strtolower можно вообще избежать.
+ на нем лучше видны девиации времени работы скрипта в зависимости от изменения кода, чем на быстрых серверах
Кешировать функцию результат функции, которая из строки получает массив? А что тут опасного?
Еще нужен другой шаблон.
Смотрите https://github.com/livestreet/livestreet/blob/master/application/frontend/skin/synio/comments/comment_pagination.tpl. Там два варианта шаблона для простой и инвертированной пагинации.
А вообще, цитируя тот же функционал, это делается просто:
Это не оно?
Создайте пользователя отдельного для этой БД и дайте ему права только на нее
В шаблонах соответствующего экшена, например, ActionBlog/index.tpl есть строчка типа
Вместо nav может быть menu в зависимости от версии
Вот туда и ставите нужное вам меню.