Pull to refresh

Comments 7

Использовать хабр в качестве среды для заметок не лучшая идея, тебе тока репу понизят

Это не просто несвязанные заметки, а описание подхода.

С одной стороны, я согласен. С другой — в этом хабе такой чахлый трафик, что на безрыбье и заметки сгодятся.
Плюс весь опыт педагогики говорит нам о том, что нельзя подавлять креативные устремления детей, и пусть сначала идеи так себе, но важен сам факт стремления к новому. Так что вполне можно эти идеи и обсудить. Зачастую ведь самое интересное бывает как раз в комментариях.

Основная идея CMG (Content management generator) — не выполнять в Runtime то, что можно сгенерировать в виде статического PHP кода.

Что-то мне подсказывает, что .htaccess не является PHP-кодом. К тому же на apache свет клином не сошёлся. По крайней мере я в своей практике за последние 10 лет вообще ни разу с ним не встречался.

Зафиксировать уже реализованное и попытаться понять что я упустил.

Из прочитанного сложилось впечатление, что вы предлагаете писать конфиг в виде кода. А после этот код будет генерировать другой код.

В целом не понятно на кого это рассчитано. Если на пользователей CMF, то слишком много кода, который как раз прячется за привычными роутерами и DI в фреймворке. Если на пользователей CMS, то тоже слишком много кода, который в принципе надо писать, что для пользователей CMS в целом задача не тривиальная.

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

Так же не понятно, каким образом получилось избавиться от Reflection API при использовании сервисов.

Ещё заметил, что ваш код отдаёт статику. Но это же тоже можно на этапе роутинга в HTTP-сервере решить.

 К тому же на apache свет клином не сошёлся.

Так ведь можно генерировать и не только для apache. Делаю для него так как мой хостинг его поддерживает.

Из прочитанного сложилось впечатление, что вы предлагаете писать конфиг в виде кода. А после этот код будет генерировать другой код.

Да. Так и есть.

Так же не понятно, каким образом получилось избавиться от Reflection API при использовании сервисов

Reflection API вызывается на этапе генерации и генерирует PHP код в котором уже прописаны все вызовы конструкторов нужных объектов.

Ещё заметил, что ваш код отдаёт статику. Но это же тоже можно на этапе роутинга в HTTP-сервере решить.

Вся статика и отдаётся как статика. Собственно в простейшем случае мы получаем генератор статического сайта.

Если всё это только ради


не выполнять в Runtime то, что можно сгенерировать в виде статического PHP кода.

То вынужден огорчить. Все современные фреймворки и так генерируют РНР код без рефлексии. Рекомендую заглянуть в папочку cache.

Sign up to leave a comment.

Articles