view .cms/man/ru_RU.UTF-8/book.html @ 1:1d486627aa1e draft default tip

24.10
author Coffee CMS <info@coffee-cms.ru>
date Sat, 12 Oct 2024 02:51:39 +0000
parents 78edf6b517a0
children
line wrap: on
line source

<!doctype html>
<html lang="ru">

    <head>
        <meta charset="utf-8">
        <title>Книга</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
        <link rel="stylesheet" href="/man/css/prism.css">
        <link rel="stylesheet" href="/man/css/styles.css">
        <style>
        </style>
    </head>

    <body>
        <main>

            <h1>Книга</h1>
            
            <h2>Введение</h2>

            <p>Описание алгоритмов работы CMS, чтобы было понятно как писать код для нее и модифицировать.</p>

            <h2>Настройки CMS</h2>

            <p>
                Все настройки хранятся в файле .cms/config.php.
                Он создается при установке.
                Для каждого модуля имеется отдельный подмассив с именем этого модуля.
                Такой подход позволяет быстро их загружать, независимо от наличия соединения с базой данных.
                Кроме того PHP умеет кешировать opcache.enable=1 в php.ini и файл находится в памяти в откомпилированном виде.
                При сохранении его на диск вызывается функция opcache_invalidate()
                которая заставит PHP перечитать файл при следующем его включении.
            </p>

            <h2>Структура папок</h2>

            <p>
                Все файлы CMS хранятся в папке .cms что позволяет в корне сайта размещать что угодно,
                в том числе и сгенерированные страницы.
                И последующее к ним обращение из браузера не запускает CMS.
                Файлы отдаются с диска веб-сервером.
            </p>
            <p>
                Файлы и папки начинающиеся на точку считаются скрытыми и прямой доступ к ним запрещен.
                Но веб-сервер, через файл .htaccess, настраивается так, что всегда обращается к файлу .cms/index.php.
                Если приходит запрос /mytpl/css/style.css, то идет попытка найти файл .cms/mytpl/css/style.css,
                и если он есть то он копируется в корневую папку по пути указанному в запросе и отдается браузеру.
                Если на диске уже имеется такой файл, то он не перезаписывается.
                Единственная тут странность в том, что если файл был на диске, то такого запроса к CMS быть не может.
            </p>
        
        </main>
    <script src=/man/js/prism.js></script>
    </body>
</html>