В общем начал писать свою цмску (не спрашивайте зачем, джон не катит) и вот при организации структуры цмс понял что хорошую структуру не смогу пока реализовать, и собственно появился такие вопросы:
1) Взять за основу фрэймворк (смотрю в сторону Yii) либо поковырять готовые цмс, и взять оттуда реализации структуры, точнее плюсы из нескольких цмс, и обойтись без ФВ?
2) Модульность, структура файлов понятна, но как быть с БД, а точнее с пользовательскими настройками для каждого модуля? Хранить все в одной таблице (как в ждоне) не вариант, это неправильно + теряется модульность. Как быть?
3) И пока самое сложное для меня (незнаю почему, но решить немогу) это организация загрузки настроек пользователя и гостя, определение настроек для гостя и пользователя отдельно, естественно для каждого модуля отдельно.
-------------------
Насчет второго пункта, есть идея для каждого модуля (если необходимо) создавать таблицу настроек с 2 полями, id и array, в первом - ид пользователя, 0 - Гость, а во втором сериализированный массив настроек. Но не думаю что это правильно, при большом кол-ве модулей будет много таблиц.
НА счет 3 вопроса. Засри куками гг.
Ягуар (04.12.2012 / 02:51)
если начал сразу внедри шаблонизатор...
Естественно, пока смотрю в сторону Twig, ибо цмс будет использоватся в своих проэктах, а так как я не дизайнер, и не верстальщик, то эта работа не для меня, и нужно более легкое для понимания решение (не все дизайнеры знают пхп).
Причины из-за которых не подошел ждон:
Старый mysql_*
Нет шаблонизатора
Нет модульности
Неудобная структура БД (инфо, настройки юзеров, все в одном месте)
Ни о каком MVC и речи нет.
На счет настроек могу предложить сделать отдельную таблицу где каждая строка для каждого юзера и одно поле равно одному модулю! Ну это моя идея !
~XeOn~, ну я сделал проще, в ядре мы определяем гость, юзер, адм + настроики по умолчанию, а прочее уже можно будет отдельно позже сделать, как вариант с модульностью, это ини файл для каждого модуля в определенном месте, в пути меняются только каталоги, там все настроики
Чей-т вас на на написание цымысы понесло?
KALASHHNIKOV (04.12.2012 / 08:27)
Чей-т вас на на написание цымысы понесло?
Все нормальные кодеры рано ли поздно начинают писать свою cms так что это хорошо !
Koenig (04.12.2012 / 06:10)
~XeOn~, ну я сделал проще, в ядре мы определяем гость, юзер, адм + настроики по умолчанию, а прочее уже можно будет отдельно позже сделать, как вариант с модульностью, это ини файл для каждого модуля
Для каждого юзера создавать ини файл с настройками? О_о
Fenix_61 (04.12.2012 / 06:09)
На счет настроек могу предложить сделать отдельную таблицу где каждая строка для каждого юзера и одно поле равно одному модулю! Ну это моя идея !
Впринципе идея неплоха
К примеру есть таблица user_module_settings, и есть 20 модулей, получается в таблице 21 поле, 1 - ид юзера, остальные - остальные - поля с настройками для каждого модуля,
id forum private pm и тд.
А при инсталляции нового модуля добавлять в таблицу новое поле
ALTER TABLE `user_module_settings` ADD `modulename` VARCHAR (500) NOT NULL
И при удалении модуля удалять поле
ALTER TABLE `user_module_settings` DROP COLUMN `modulename`