В общем сразу к теме :)
Собственно как я говорил, что как закончу сессию и появится время, возьмусь за разработку cms или более похожего к cmf. В общем взялся уже как недели 2 назад.
И уже были наработки 3 штуки, но все по удалял, так как везде делал фигню, точнее получал не того чего хочу, собственно проблемы в том что почему то я не могу минимизировать использование свитчов и ифов, а проблема в том что не могу понять в чем соль. :(
Сейчас вечером перечитал весь раздел
и . Где, чего понаходил.
Кратко о моих вариантах.
1 Вариант:
Использовал тупо файлы(фронт, бэкенд и все.) где через свитчи определял экшен через $_GET. Сразу понял что это реальное гавно… из за того что это говно.
2 Вариант:
Решил использовать фреймворк, начал с зенда, потом взял симфони(в нем в обще не разобрался, точнее не захотел, мб зря..), потом кодинтежер.
Везде получал не то, чего я хотел. Все равно переходило к свитчам и ифам :(
3 Вариант:
Начал писать некое ядро, но быстро понял что пишу нихуя ни какое ядро, и пишу хуйню.
И вот настал этот день, решил всё заново, но спросить Вашего мнения.
В общем я хочу стандартного (наверное :) )
- Иницилизация всех настроек из конфига, который хранится в файле config.php где хранится массив с настройками (единственное не понимаю как его обновлять, если изменения сделали в админке). Иницилизация всех модулей:
пробую реализовать следующем методом: в конфиге(или в константе, думаю не столь важно) хранится путь к папке с модулями. Потом делается обход этой папки на создание массива со списком модулей (или думаю хранить в БД список, который обновляется при добавлении модуля, что быстрее? или лучше? почему :)).
- Иметь некий контроллер/роутер, который будет выбирать модуль в зависимости от ссылки. Смотреть какие модули нужны, подгружать их с теми параметрами которые нужны. Вот тут для меня самое сложно, не могу точно продумать как должен выглядеть этот контроллер.
- И в общем не могу понять, что есть на самом деле ядро, чем оно служит, каковы функции возлагать на него, какие нет?
В общем жду ваших мнений, советов и ответов.
PS Благодарю за внимание и понимание.