Не знаю, что это получается, но я же могу с таким же успехом код в консоль вставить, разве нет? Правда, не знаю, сработают ли прямые AJAX-запросы, но вообще должны. Я же это делаю только на своём клиенте (браузере), а не внедряю сторонний код для всех посетителей страницы.
Интересная штука, жаль только один редактор поддерживает и с JS, как я понял, так не получится. Правда, я не понял - после перезагрузки страницы изменения подхватятся из редактора? А то там всё завязано как раз на live-изменениях. Но иногда нужно перезагрузить страницу с изменениями. Нет возможности проверить самому. Но за ответ спасибо, в любом случае.
А причём тут безопасность? Я же могу выполнять в консоли произвольный код и, наверно, даже как-то свои user-скрипты к страницам применять. Это почти то же самое. Сохранение - это не то, конечно.
Создание своих контроллеров (может на основе существующих) - это вариант, который я забыл указать в вопросе. Материал по ссылке я изучал в процессе поисков. И вот допустим, что я создал на основе common/footer свой common/footer_new. Оригинальный footer подключается как дочерний во многих контроллерах. И что делать, чтобы вместо него подключался мой модифицированный? Везде заменять на footer_new? Это правка системного кода. Возможно, можно сделать в оригинальном footer forward() на footer_new, это правка системного кода, но хотя бы только в одном месте. Но опять же, после обновления нужно смотреть, может в оригинальном файле что-то изменили и нужно эти изменения перенести в footer_new (может что-то критическое). Это всё абстрактная ситуация, но тем не менее. Я спрашиваю не про ситуацию добавления функционала, а про ситуацию, когда почти всё устраивает в базовом комплекте, но некоторые вещи хочется убрать / поменять (см. пример в комментариях к первому ответу).
Я не говорю про какое-то глобальное перепиливание функционала. Я имею в виду небольшие изменения. Ну вот, например, в контроллере common/footer грузится список информационных страниц. Допустим, мне этот список нужен не в футере, а в хидере в качестве меню. Я могу убрать его из шаблона футера, но он же всё равно будет загружаться в контроллере, просто не будет отображаться. Зачем эта лишняя работа? И как мне добавить его в хидер, не меняя контроллер common/header.php? По соображениям MVC неправильно же в шаблоне (view) запрашивать данные из модели, это нужно делать в контроллере. Подключать к контроллеру хидера в качестве дочернего футер тоже не вариант - будет доступен просто весь вывод футера, а не только нужный массив данных.