Операционната принципа на прост CMS (система за управление на съдържанието)

Причината за написването на тази статия е базирана на разговор с един добър човек, който напълно развита, знае всичко е малко, но по-дълбоко, за да си тръгне, да речем, в една и съща PHP не може - с оглед, в действителност, липсата на подходяща информация и обяснителни уроци по писане техните системи за управление на съдържанието. Темата, обаче, достатъчно достъпна, защото не са много професионалисти готови да споделят своя опит (особено сред широката общественост).

Така че, преди да започнем, нека се съгласявате, че ние се интересуваме от "човек-приятелски URL адреси" (CNC), като работата ще бъдат кодирани само с UTF-8 (за Windows-1251 забравите веднъж завинаги - той ще ви даде много хемороиди, ако искате да се приложат мястото на интерактивни елементи, използващи Javacsript).

.htaccess файл (създаден на сървъра да работи с ЦПУ):

Така че, тук ще се съсредоточим върху един прост модулна ССФ, която е лесно да се поддържа, развива и използва, за да се движите в така наречените рутер.

Този метод не е съвършен, и аз отдавна я изоставили. Основно поради факта, че всеки модул, разработен в рамките на отделна програма, и това е достатъчно трудно да се придружава от проектите, въпреки че не е голям. Като цяло, недостатъците на този подход, много повече, отколкото плюсове.

По мое разбиране, входна точка (това е често ни index.php файл) в нормален CMS трябва да се свърже най-малко една основна система файлове от един файл (в този случай core.class.php клас):

Подобно на много книги, аз също ще настоявам да възприемат двата класа (в примера по-горе), както черните кутии, което е нещо, което могат да направят, ако те все още предам нещо. Съгласете се, защото програмистът не е необходимо да се знае как ехото функцията (); - достатъчно, за да се знае, че ако я даде възможност, PHP ще се уверете, че да донесе тази опция към браузъра. Голямо внимание трябва да се обърне config.php файла с рутер

те ще бъдат третирани като подходящ за състоянието и да се свържете основните файлове на съответните блокове и модули:

  • модули / items.php
  • блокове / head.php
  • блокове / header.php
  • блокове / left.php
  • блокове / footer.php

Аз вярвам, че ключът към разбирането на това как да се изгради тази CMS е в шаблона за файла страница! Така че, нека да разгледаме един прост шаблон за този CMS:

Ето променливите %% %% HEAD. %% %% HEADER и т.н. са идентификатори за подмяна на блокове. да се замени всичко, което направи извод (чрез ехо «»;) файлове "главата '=>' блокове / head.php", "удар с глава на '=>' блок / header.php" и така нататък. на изхода. С други думи, ако блокове / head.php файл имаме това:

%% ГЛАВАТА %% схемата е под формата на (ред 4-9):

Така че това се случва с всички подмяна идентификатори. Заглавие ключов идентификатор се определя от правилото (например, %% %% СЪДЪРЖАНИЕ - 'съдържание' => 'модули / index.php "(забележка - Задължително с главни букви - така замислена :)

И аз съм всичко за извеждането на факта, че всеки файл сега могат да се срещнат на строга специфична тясна задача и не се включат в оставащите проблема. Смешни вид, като някои експерти пишат зелени сайтове, които по форма и съдържание, а главата и долния в един файл ... Дори и ако смятате, че сайтът няма да бъде допълнително придружава, така или иначе трябва да се опита да напише правилно (прочетете "модулните").

Междувременно техники система така наречените урок:

Конструкторът на класа. Взема масив $ довереник (вж. Config.php файл)