Mercurial
view .cms/man/ru_RU.UTF-8/book.html @ 0:78edf6b517a0 draft
24.10
author | Coffee CMS <info@coffee-cms.ru> |
---|---|
date | Fri, 11 Oct 2024 22:40:23 +0000 |
parents | |
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>