Какие технологии использовать для написания cms на языке php?
Долго думал о создании своей cms. Когда дело дошло, то оказалось все не так просто как пишут в статьях, не учел время на гугление...
Из чего слепить этот cms? сейчас index.php отображается по любому адресу и принимает его в переменную $url. Он должен проверить, есть ли материал по этому адресу > проверяем базу данных > Если нет - install.php > если база есть, то проверяем $url > если он есть, то вернуть страницу > если $url отсутствует > проверить права пользователя > если админ, то вывести tools.php > если пользователь, то вернуть page404.php
Так же я подумывал о статичных страницах, что бы они создавались и сохранялись в папку /pages/pageXXX.html. Но сомневаюсь, что быстрее, чтение с диска или с базы данных.
Добрался я до момента с $url. А дальше не знаю какие слова гуглить. Прочел пару интересных статей, пару десятков форумов. Все реализовывают по разному, но это не совсем то, что делаю я.
Суть вопроса:
Подскажите пожалуйста, что гуглить, что бы реализовать такие функции:
Создание шаблонов с позициями (применил - весь сайт изменился)
Установка движка (в случае отсутсвия подключения к BD - вывести install.php где создается config.php)
Подключение к базе (создание, редактирование, удаление страниц)
Буду благодарен за любые ссылки и наводящие слова/мысли. Хотелось бы довести до конца, т.к. это хобби, но все упирается в знания.
Пишите порядок действий в виде блок-схемы.
Вы уже путаетесь!
Сначала - строится архитектура крупных блоков.
Затем - архитектура и логика работы каждого блока внутри.
Код - пишется в самую последнюю очередь!
Первые три блока: валидация всех данных от клиента, проверка/(ре)инициализация сессии, URI-роутер.
- Это я так понимаю передача сессии с admin.php к index.php для управления?
URI-роутер
- Тут у меня зарождались такие мысли, что самому страшно. Я вот задаюсь вопросом, что проще освоить, запросы к базе, научиться создавать таблицы, записи... или же просто хранить все в www/pages/page___.html а отображать это через include('core/content.php'), А в него засунуть роутер который будет сравнивать url с вложенностью /pages/category_aliase_name/file_aliase_name.html. А создавать эти страницы через админ сессию.
Если есть хорошая статья по базам, быстрому старту. Чем проще - тем лучше. Справочники не всегда понятны, а на страницах просто выкидывают тонну кода который не нужен. Хотелось бы сделать максимально простой движок. По этому выбрал такой подход.
Сейчас все запросы уходят в index.php и всегда отображается такое:
<? include ('pages/menu.html'); ?>
</header>
<? include ('pages/error.html'); ?>
<? include ('pages/sitemap.html'); ?>
<? include ('pages/home.html');
>
здесь должен быть какой нибудь метод реализации отображения , я на этом этапе , для этого нужно какая нибудь информация, что бы можно было понять основные строки, необходимые для отображения контента. Для этого ЧПУ нужно подключить к чему-то. А базы меня пугают, в них мне так же не хочется лезть как в C++, как вспомню, аж передергивает..
Issue, я разрабатывал свой движок сам и изучал всё с нуля шаг за шагом.
времени - занимает много.
Камней - ДОФИГА!
Но потом, когда ты пишешь всего две строки, чтобы добавить форму авторизации с автоматической проверкой всех полей на необходимые данные - прям бальзам по сердцу!
Начните с понимания: "валидация всех данных от клиента", чтобы потом, не было мучительно больно!