Cookie CMS. Некоторые новости. Определилась структура файлов и каталогов

Пришло время пролить свет на разработку CMS. Должен заметить, что предыдущие посты о разработке Cookie-CMS включали в себя исходные коды, на которые мне сейчас смешно смотреть, сейчас того кода нету и используются более гибкие системы собственного производства.

Структура файлов и папок

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

Cookie-CMS
--- index.php
--- .htaccess
--- kernel (здесь находятся всё, что необходимо для базового функционирования)
    --- events.php (система событий, на которых основана связь всех модулей)
    --- functions.php (некоторые базовые функции)
    --- modules.php (управляет модулями)
--- modules
    --- example (пример обычного модуля)
        --- config.ini (конфигурационный файл модуля, если нет, то будет искаться файл index.php и имя темы примет имя папки)
        --- example.php (php код модуля, произвольное название, настраивается в config.ini)
        --- template (html/css код модуля)
            --- example.html
            --- style.css
    --- template (модуль шаблонов, будет идти в стандартной комплектации)
        --- config.ini
        --- template.php
        --- templates (шаблоны)
            --- default
                --- images
                --- index.html
                --- modules (шаблон может заменять html/css код модуля своим)
                    --- example
                        --- example.html
                        --- style.css
                --- style.css

Были мысли по поводу переноса некоторых папок в корень проекта, например templates/ удобнее было-бы видеть в корне, но если будет удобный интерфейс в админке и будет инсталятор шаблонов, то в этом не будет необходимости.

По поводу самой CMS

Как видно по структуре, в теле самой CMS(kernel/) будет находится незначительное количество скриптов. Это связано с тем, что весь функционал будет находиться в модулях. Функции по работе с базами данных, конфигурационные файлы, шаблоны, функции перехода по страницам и т.д., будут в виде модулей. Это и будет отличать Cookie-CMS от другой массы схожих разработок. Именно такую организацию работы я считаю лучшей, ведь абсолютно безграничная расширяемость позволит создавать совершенно любые проекты на его основе, от статичных сайтов-визиток, до высоко нагруженных форумов и порталов.

По поводу исходников

Исходники, конечно, будут в открытом доступе под лицензией GNU GPL(v2 или v3, ещё не решил). Пока их не будет, т.к. готово очень мало и всё может меняться очень глобально(уже при разработке структура файлов менялась 3-4 раза). Также не решил что использовать для хранения исходных кодов — Git или SVN. Склоняюсь к Git, но точно ещё ни в чём не уверен.

В общем, разработка потихоньку продвигается и я очень надеюсь, что из этого выйдет что-то хорошее.

  • А какие из этих файлов уже написаны?

    • ZiGGi

      events.php, modules.php
      а модули тем, баз и авторизации я буду переписывать с нуля

  • А где конфиг?

    • Конфиги будут только в модулях.

  • А какие модули будут?

    • Все возможные. Шаблоны, страницы, регистрации и т.д. — всё это будет модулями.

  • Как насчет ковырнуть CI2 для дальнейших злоключений.
    Также интересует соблюдение mvc/hmvc

    • Про CI2 даже не слышал. А такие вещи как MVC, мне совсем не показались удобными, поэтому буду писать по своему.

      • fabervox

        Если разработка ведется одним человеком, то оно и правильно. А сторонние модули все равно врядли будут с соблюдением MVC.

  • Что там с разработкой? Вижу она затянулась

    • После экзаменов буду активно продолжать. Правда после завершения нескольких небольших проектов.

  • Дмитрий

    На какой стадии проект?

    • Заморожено до лучших времён.

      • Дмитрий

        Как печально…

Перейти к верхней панели