CMS в 8 строк!

Привет ребята!

PHP — такой мощный язык программирования на котором можно написать какой-угодно вебсайт, в зависимости от вашего опыта. Но ты, уважаемый читатель, даже не подозревал что на PHP можно написать собственную CMS всего лишь в 8 строк!

Короче, PHP это самый крутой язык программирования на планете.

После прочтение этой научной статьи, ты получишь знание о том как создать свою крутую CMS в 8 строк! Ну что же, давай начнем наше путешествие в удивительный мир PHP!

UPD: CMS из этой крутой статьи теперь на GitHub.

Дисклеймер: 8 строчек PHP кода. Контент, .htaccess конфиг, и шаблоны не идут в счет количества строчек. Только index.php, только ядро.

CMS

Наша CMS самая крутая и быстрая CMS на всей планете. Качество PHP кода нашей CMS круче чем качество кода Линуса Тордавльса!

Давайте начнем с проектирования нашей крутой CMS в 8 строчек. Нам нужен план. Предлагаю такой план: просто написать код. Отличный план.

Я вот написал:

<?php  

$route = trim(!empty($_GET['route']) ? $_GET['route'] : 'index', '/');

$file = "content/$route";
$file = file_exists("$file.php") ? "$file.php" : 'content/404.php';

ob_start();
$data = require $file;
$content = ob_get_clean();

extract($data ?: []);

include 'theme/layout.php';

Забавный факт: данный блог начинался именно с этих строк.

Вот и вся наша CMS. В папке theme должны содержатся шаблоны CMS, а в папке content должен содержатся контент который должен возвращять массив с данными.

Крутой пример сайта

Вот пример сайта (требует apache):

index.php
<?php

$route = trim(!empty($_GET['route']) ? $_GET['route'] : 'index', '/');

$file = "content/$route";
$file = file_exists("$file.php") ? "$file.php" : 'content/404.php';

ob_start();
$data = require $file;
$content = ob_get_clean();

extract($data ?: []);

include 'theme/layout.php';
.htaccess
AddDefaultCharset UTF-8

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule (.*) index.php?route=$1 [QSA,L]
theme/index.php
<!DOCTYPE html>
<html>
    <head>
        <?php isset($title) and print($title) ?>
    </head>

    <body>
        <h1>
            <?php isset($title) and print($title) ?>
        </h1>

        <?php echo $content ?>
    </body>
</html>
content/index.php
<p>
    Добро пожаловать! 
    Мой сайт работает на самой крутой и быстрой CMS в мире, 
    которая написана в 8 строк кода.
</p>

<?php

return [
    'title' => 'Добро пожаловать'
];
content/404.php
<p>
    Вы наверное не на ту кнопку нажали. 
    По этому попали сюда. Или же потому что я удалил страницу, но не удалил
    внешнии ссылки.
</p>

<?php

return [
    'title' => '404 - Страница не была найдена'
];

Вот и вся CMS. В следующей части , я покажу как создать крутой форум для ДотА сервера на основе этой CMS.

Купите курс

Вам понравился эта научная статья, и вы хотите научится писать такой же крутой код как я?

Ты хочешь научится программировать на PHP, познать самые крутые паттерны и Дзен PHP и грести деньги лопатой? Не пропусти этот редкий щанс получить золотую жилу знаний, купите наш курс и ты получишь все богатсво мира!!!

Жми кнопку, купи курс!

Также не забудь подписаться на наш канал на ютубе, вк паблик, инстаграм, гугл плюс, и твиттер аккаунты.

Поделится

Комментарии