Написание cms. Создание CMS этап проектирования. Для чего и зачем мне это

Здравствуй мой юный кодер, сегодня МЫ с тобой начнем писать свою простенькую CMS.
Итак, с чего начнем…естественно с проектирования. Что должна уметь/иметь не крутая, простенькая CMS? Этот вопрос достаточно сложный, т.к. любая CMS, даже самая простая, пишется под конкретные нужды: электронный магазин, программерский сайт, новостной сайт, галерея(хотя, в принципе, галерея- это не совсем CMS) и т.д. В этой статье мы рассмотрим второй вариант. Что же должна уметь такая CMS? Думаю все со мной согласятся, что:

1) Админку:)
2) Возможность управления новостями, статьями, загрузками, ссылками
3) Функцию регистрации пользователей
Это тот минимум с которым должна уметь оперировать наша CMS. К дополнительным фичам я отнесу:
1) Динамически создаваемые страницы, т.е. в админке можно запросто ввести содержимое новой страницы. Например: сделать магазин uin’ов на сайте или страницу повествующую о истории вашего проекта и т.п.
2) Комментарии к новостям. Это отдельный пункт, т.к. это довольно таки опасная вещь из-за того, что нужно применять специальные фильтры и спам- детекторы, иначе если вас кто-то очень сильно не любит и у него есть мозг/деньги(или что хуже всего, когда у него есть и то и другое:)) то он, в лучшем случае, может просто забить вашу БД мусором, в худшем он получит полный контроль над сайтом…Мы еще вернемся к этому вопросу;)
3) Возможность создания динамически создаваемых менюшек, их перестановка в различные области сайта.
4) Форма обратной связи с админами(Опасность та же, что и для пункта №2).
Ну вот и все, что я планирую(пока что) тебе объяснить.

Сначала организуем структуру директорий будущего сайта:
/DocumentRoot
/AdminPanel # Корневая директория админки
/Sources # Скрипты админки
/HTML # Собственно сам хтмл админских страниц управления
/Sources # Скрипты CMS
/HTML # Хтмл
/Images # Картинки
/Downloads # Директория хранящая в себе файлы доступные для скачивания
/Config # Файлы конфигурации CMS, например содержащие логин и пароль доступа к MySQL

Теперь что касается навигации по сайту. Навигация будет производится с помощью ссылок(ога, самому смешно:)) типа you_site.com/index.php?act=art&mod=idx. Параметр art характеризует какой раздел сайта мы хотим просмотреть, а параметр mod отвечает за подраздел который мы хотим просмотреть. Вот таблица соответсвия этих параметров:
act=art&mod=idx # Просмотр категорий статей
art=art&mod=cat # Просмотр конкретной категории. Как CMS будет узнавать какую категорию мы хотим просмотреть я объясню чуть позже:)
art=art&mod=art # Просмотр конкретной статьи

Act=dwn&mod=idx # Просмотр категорий статей
art=dwn&mod=cat # Просмотр конкретной категории. Как CMS будет узнавать какую категорию мы хотим просмотреть я объясню чуть позже:)
art=dwn&mod=dwn # Просмотр конкретной статьи

Act=users # Просмотр зарегистрировавшихся пользователей
act=users&mod=profile # Просмотр профайла юзера
art=art&mod=reg # Регистрация юзера

Это пока далеко не все варианты, в дальнейшем мы научим “понимать” CMS и другие параметры. Ну а теперь перейдем непосредственно к программированию. Создадим в корневой папке файл index.php именно через этот скрипт пользователь будет путешествовать по сайту, все остальное кроме картинок должно быть запрещено для просмотра(и не только скрипты но и файлы конфигурации, ХТМЛ)

Код файла index.php:

Require_once(‘config/database.php’); // Загружаем скрипт соединяющийся с БД
require_once(‘sources/session.php’); // Скрипт управления сеансами пользователей
require_once(‘config/config.php’); // Файл конфигурации
require_once(‘sources/check.php’); // Проверяет получаемые из URL’a параметры
require_once(‘sources/links’); // Отвечает за ссылки для навигации по сайту

$act=check_act(&$debug); // Функция проверки переменной $act, находится в файле check.php
$mod=@$_GET[‘mod’]; // Получаем переменную $mod
$site_links=get_links($mysql_tables); // Получаем массив ссылок
switch ($act)
{
case ‘idx’: //если посетитель просматривает главную страницу сайта
require_once(‘sources/news.php’); // Загружаем скрипт новостей
$site_news=get_news($mysql_tables); // Получаем массив новостей
require_once(‘HTML/index.htm’);// Загружаем ХТМЛ страницы
break;
}
?>

Код файла database.php:

$mysql_login=’root’; //Логин для доступа к серверу БД
$mysql_pass=’’; // Пароль
$mysql_host=’localhost’; // Хост на котором висит MySQL
$mysql_database=’MyCMS’; // Имя БД

$mysql_tables[‘news’]=’news’; // Таблица новостей
$mysql_tables[‘articles’]=’articles’; // Таблица статей
$mysql_tables[‘art_categ’]=’art_categ’; // Таблица категорий статей
$mysql_tables[‘downloads’]=’downloads’; // Таблица загрузок
$mysql_tables[‘dwn_categ’]=’dwn_categ’; // Таблица категорий загрузок
$mysql_tables[‘links’]=’links’; // таблица ссылок
$mysql_tables[‘users’]=’users’; // Таблица пользователей
?>

Код файла session.php:

@session_start();

If(!@$_SESSION["group_id"])//Если пользователь только что зашел
{
$_SESSION["user"]="Гость";
$_SESSION["id"]=0;
$_SESSION["group_id"]=-1;
$_SESSION["last_click"]=$time;
}

If(@$_SESSION["group_id"]<>"")//если посетитель не гость
{
$_SESSION["last_click"]=$time;//в дальнейшем нам это понадобиться для учета онлайн- пользователей на сайте
}

Код файла check.php:

Function check_act(&$debug)//Функция проверки переменной act
{
$act=@$_GET["act"];
if($act<>"idx")
{
$act=$debug["indx_act"];//Задаем дефолтное значение
}
return $act;
}

Код файла config.php:

//Установки управления исправлением ошибок:
$debug["indx_act"]="idx";// Если главный скрипт получит не правильное значение переменнной act то он задаст ей это значение

Код файла links.php:

Function get_links(&$table)
{
$query="SELECT position FROM $table";
$result=mysql_query($query);
$rows=mysql_num_rows($result);
for ($i=0; $i<$rows; $i++)
{
$sort_array[$i]=mysql_result($result, $i);
}
sort($sort_array);
for ($j=0; $j<$rows; $j++)
{
$pos=$sort_array[$j];
$query="SELECT * FROM $table WHERE position="$pos"";
$result=mysql_query($query);
$tmp_arr=mysql_fetch_array($result);
$links[$j]["name"]=$tmp_arr["name"];
$links[$j]["link"]=$tmp_arr["link"];
}
$links["rows"]=$rows-1;
return $links;
}

Вот в принципе уже и мини двиган получился:) Теперь давайте разберем код некоторых файлов, чтобы я вам пояснил механизм работы. Итак для чего я проверяю переменную $act спросите вы? А представьте себе что кто-то захочет в url’e ее поменять? После этого скрипт может работать не стабильно и вполне реальна порча данных и т.п. Конечно в данном примере это играет, мягко говоря, второстепенную роль, но запомните, что нужно проверять абсолютно все что может изменить пользователь(лучше даже проверять то что он в принципе и не может изменять). Если же у переменной какое-то левое значение то мы ей присваиваем дефолтное значение и тем самым обламываем вредных киддисов:)

Теперь разберем самый сложный из этих простых скриптиков- links.php. Я думаю, что читатель этой статьи уже сталкивался с управлением каким- либо движком сайта и наверняка догадался почему этот скрипт настолько сложен(для начинающих конечно). Управление ссылками на навигационной панели сайта заключается не только в том, чтобы их добавлять и удалять, а еще, как минимум, в том чтобы изменять их позицию, т.е. вы сначала добавили ссылки на раздел статей, а потом вспомнили, что забыли добавить раздел “Главная”- ссылку на главную страницу, но ведь эта ссылка должна по традиции идти первой…вот тут- то и пригодится управление позициями. Вы просто добавляете ссылку на главную страницу, а потом нажимаете на что-то похожее на “Вверх” или “Поднять” и т.п. Но мы пока не будем в этой части касаться админки, а пока рассмотрим скрипт- клиент. Сначала мы просто выбираем все записи из таблицы и заносим значения поля ‘position’ каждой записи в массив. Затем мы сортируем их по возрастающей, то есть: 0, 1, 2 и т.д. Это позволяет нам потом выполнять в цикле SQL запросы типа: $query="SELECT * FROM $table WHERE position="$pos""; Таким образом мы выбираем из таблицы записи у которых поле ’position’ равно значению переменной $pos, что и дает нам возможность управления позициями ссылок. Здесь мы в цикле, начиная с ключа со значением 0 присваивать имя ссылки и, собственно, саму ссылку. Все что нам потом понадобится чтобы вывести ссылки на свет юзеровский- это написать в хтмл файле index.htm такой скрипт:

For(i=0;$i<$site_links[‘size’];$i++)
{
echo "{$site_links[$i]["name"]}";
}

Вот собственно и все. Кстати, некоторые люди которые читают сейчас эту статью, наверное, возмутяться: “А почему в запросе не использовать конструкцию ORDER BY и не использовать связанные таблицы? Ведь это упростит задачу!”. Дело в том, что стиль написания моих скриптов заключается в том чтобы максимально увеличить их переносимость, т.е. я никогда не использую сложные запросы, связанные таблицы и т.д. Конечно, все это плохо сказывается на скорости работы скриптов и их сопровождении(слишком не понятный код), и если нужно добиться максимальной производительности в ущерб переносимости, то я использую все эти средства, но зато еще ни один мой скрипт при переезде не просто с одной версии MySQL на другую, а с одной платформы и/или типа веб серверов и серверов БД не выдал ни одной ошибки или предупреждения:) Каждый волен делать так как он хочет, ведь на то оно и программирование: возможных решений задачи, столько же сколько и людей пытающихся ее решить;)

P.S. Если что-то не понятно или ты нашел(а) неточности/ошибки в статье- меня всегда можно найти на нашем

Создание сайтов при помощи готовых CMS или разработка с нуля?

Перед разработчиками веб-сайтов часто встает вопрос: разработка сайтов на готовых CMS или создание системы управления с нуля. Как не ошибиться в выборе и в чем разница изготовления таких CMS, разберемся в данной статье.

Что такое CMS и в чем ее предназначение?

CMS (система управления сайтом) – компьютерная система, с помощью которой можно создать сайт, отредактировать функционал и внести изменения в существующий контент. То есть это движок с базовым функционалом, служащий для разработки сайта. Наличие удобной системы управления сайтом позволяет упростить процесс его верстки, программинга и администрирования. Можно заказать готовую CMS, а можно разработать индивидуально под проект. Для того, чтобы понять, как поступить, определим основные особенности данных CMS. Особенности готовых CMS.

Какая лучше: платная или бесплатная?

Разработка сайтов на готовых CMS отлично подходит практически для всех сайтов со стандартным функционалом. Главное – правильно подобрать систему управления сайтом. Несомненным преимуществом использования готовых CMS является их популярность.Поскольку это дает возможность легко найти разработчиков для внесения изменений и обновлений. Сайты, созданные на основе готовых систем управления, так же, как и на CMS, разработанных с нуля, просты в администрировании. Стоимость приобретения готового движка существенно ниже стоимости самописного. В случае возникновения проблем, найти специалистов, оказывающих техническую поддержку сайта с данной системой управления, не составит труда. А это также сэкономит Ваше время и деньги. Готовые CMS весьма универсальны, поэтому Вы сможете использовать их для разработки последующих сайтов. Кроме того, в них заранее заложены готовые плагины, что позволяет сократить расходы при необходимости создания дополнительного функционала. Практически для всех движков существует большое количество готовых шаблонов, допилить которые можно под любую тематику и функционал. Но использовать шаблон стоит в тех случаях, когда нет необходимости в разработке индивидуального дизайна. Готовые системы управления сайтов бывают как бюджетные, так и платные. Наиболее популярными среди них являются WordPress, Joomla, Bitrix и ModX.

Разработчики готовых CMS заботятся о своей репутации и постоянно дорабатывают и обновляют их, что гарантирует высокое качество. Выбрать платную или бесплатную CMS, решать Вам, но помните, что платными пользуются реже, поэтому вероятность встретить похожий сайт снижается. За CMS, приобретаемую для разработки блога или одностраничника, не стоит отдавать больших денег. От того, насколько правильно будет подобран движок, зависит работоспособность всего сайта. Так, если использовать CMS Open Cart (подходит для разработки сайта-каталога, интернет-магазина) для создания блога, то сайт будет работать не на всю мощь, поскольку останется много незадействованного функционала, предназначенного для другого вида сайта. CMS с нуля Такие CMS пишутся под заказ и подходят тогда, когда необходимо разработать сайт с нестандартным функционалом или структурой, а также при наличии других особых пожеланий по сайту. Самописная CMS учитывает все нюансы, которые необходимо внедрить при разработке сайта. Максимальная заточенность системы управления сайтом под проект в ряде случаев является наилучшим решением. Но так происходит тогда, когда действительно необходимо реализовать сложную нестандартную задачу. Разработка движка с нуля полезна, в первую очередь, для прокачки скилла самих разработчиков. В процессе создания и совершенствования такой CMS специалист набирается опыта и повышает уровень своих знаний.

Использование так называемого фреймворка (программного обеспечения) упрощает разработку движка с нуля, поскольку позволяет создавать эксклюзивный нестандартный программинг. Фреймворк подходит для высококлассных больших сайтов, весомо отличающихся от всех других. Необходимо помнить, что при наличии самописного движка клиент напрямую привязывается к разработчику. Поскольку, если возникнет необходимость во внесении каких-либо изменений или дополнений, помочь решить данные вопросы сможет только тот, кто является автором системы управления и знаком со всеми нюансами ее работы.

Существенная особенность CMS, разработанной с нуля, заключается в высокой цене и продолжительном сроке ее создания. Ведь создание движка с нуля – это много усилий и богатый багаж знаний, а также высокое качество и персональная заточенность под проект. Заключение И так, теперь мы понимаем, что выбор CMS зависит, прежде всего, от того, какой проект необходимо реализовать с ее помощью. Готовые движки подходят для разработки любого сайта, самописные – для создания веб-ресурсов с нестандартными условиями и хорошим бюджетом. Гибкость готовой CMS заключается в возможности ее использования для многих проектов и совершенствовании функционала, а самописной – в персональной разработке программного обеспечения для конкретного проекта.

Вообще мысля проста создать так сказать модуль для своей CMS который выводил бы предпросмотр новостей... По моему мнению, движок это простое отделение кода PHP от кода HTML Я возможно не правильно его называю, это не движок, если верить терминам то, то, что мы будем писать - это шаблонизатор. Вообщем то это совсем не важно, конечный продукт будет уметь выводить мини новости, и при этом мы сможем менять шаблон не трогая код. Мы не будем вытаскивать информацию из базы данных, просто напрямую впишем ее в переменную. Приступим...Создадим файл index.php в нем напишем такой код

include("module/news.php");
$news = index_page();

include("templates/index.html");
?>

из него видно что мы подключаем два файла. Один из папки "module" т.е. модули, другой из папки "templates" т.е. шаблоны... Как вы поняли нам нужно написать сам модуль и шаблон... Но шаблонов мы будем писать два, один будет содержать разметку главной страницы, а другой будет содержать разметку самой мини новости. Начнем с мини новости, назовем файл news.html






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




Первый движок




Обычная страница html только в ней присутствует php код Тут будут выведены наши новости... Приступим к самому модулю, называем его news.php

function index_page()
{
//Заполняем переменные с информацией
//В наших мининовостях будет виден текст, заголовок, дата и автор
$txt="Печально когда при создание чего то ты забываешь про какие то мелочи...и для того что бы не переписывать все ты пытаешься измудриться так, чтобы вмешательство в код было минимальное..";
$txt="Когда то такие попытки увенчаются успехом, а иногда бывает и так, собственными же руками уродуешь код =(";
$title="Титл новости 1";
$title="Титл новости 2";
$author="Первый автор";
$author="Второй автор";
$date_b="12/10/11";
$date_b="13/10/11";

$sm_read = file("templates/news.html");//Открываем шаблон
$sm_read = implode("",$sm_read);//Так как функция file() в результате дает нам массив, то склеиваем его
for($i=0;isset($txt[$i]);$i++)//Выводим цикл где меняем индексы на информацию из переменных
{
$edd_tamp = $sm_read;
$edd_tamp = str_replace("",$txt[$i],$edd_tamp);
$edd_tamp = str_replace("",$title[$i],$edd_tamp);
$edd_tamp = str_replace("",$author[$i],$edd_tamp);
$edd_tamp = str_replace("",$date_b[$i],$edd_tamp);

$news .= $edd_tamp;//Склеиваем все в одну переменную
}
return $news;//Выводим результат функции
}
?>

Собственно небольшой движок написан...Поместим файлы news.html и index.html в папку templates. Файл news.php в папку module, а файл index.php в корень сайта...

Это лишь простой пример реализации скрипта который может генерировать страничку "на лету". Более подробнее оп простом движке на php может почитать

Доброго времени суток, читатели сайт! 🙂

После моих предыдущих статей вы должны были уже определиться с целью создания своего ресурса, выбрать его тип, а также как именно вы будете его создавать.

Если у вас ещё существуют определённые трудности в ответах на данные вопросы, рекомендую их срочно ликвидировать, ознакомившись с предыдущими публикациями.

Ну а для тех, кто уверен в своих намерениях, пришло время двигаться дальше 🙂

И сегодня мы с вами поговорим о такой вещи, как создание сайта на CMS , т.к. на сегодняшний день это один из самых простых и перспективных .

Он позволит сделать сайт любому желающему самостоятельно, быстро и без особых денежных затрат при запуске.

Процесс разработки сайта на CMS – это не хаотичное вождение курсором мышки по экрану монитора и щелканье клавиатурой 🙂 Он состоит из нескольких этапов, только последовательное выполнение которых приведёт вас к желаемому результату – собственному сайту!

Итак, поговорим о технических моментах создания сайта на CMS более подробно…

Создание сайта на CMS – этапы

Установка на компьютер

Для начала нам нужно скачать сам движок и установить его.

Тут есть два пути:

  1. Скопировать скачанный движок на сервер и установить его прямо там;
  2. Установить CMS на локальный веб-сервер, расположенный на вашем компьютере.

У каждого метода есть, как водится, свои плюсы и минусы.

При прямой установке CMS на сервер Вы сэкономите время на установку , которые незаменимы при разработке на локальном компьютере. Для работы с кодом движка в их административную часть часто встраивают редакторы кода, которые позволяют вносить правки прямо через Интернет.

К тому же, при правках в онлайн-режиме Вы не привязаны к компьютеру, на котором развёрнута локальная копия и имеется весь комплект необходимого программного обеспечения.

Но онлайн-редактирование является также и минусом, т.к. вы очень зависите от наличия Интернета. А его пропадание или сбои в работе во время внесения правок, особенно во время установки компонентов, приводит к потраченным нервам и времени 🙂

К тому же, далеко не во всех CMS есть встроенные редакторы кода. А если они и есть, то оставляют желать лучшего. Например, в OpenCart такого редактора по умолчанию нет. Он доступен при установке модуля CodeManager, но его функционал не совсем подходит для комфортной и продуктивной разработки.

А встроенный по умолчанию редактор кода в движок WordPress вообще отвратительный. После сохранения изменений в файл невозможно вернуть изменения. Нет автоматического форматирования кода, подсветки синтаксиса. Дальше можно не продолжать 🙂

Вот в такой ситуации при создании сайта на CMS Вам может понадобиться второй подход к установке движка – на локальный компьютер. Он работает в случае выбора любого и является универсальным.

При внесении правок на уже запущенный ресурс работа с локальной копией также имеет массу преимуществ по сравнению с удалённым редактированием. Т.к. при какой-то неудаче во время редактирования онлайн для восстановления работы сайта потребуется определённое время, которое ресурс будет недоступен. И Вы потеряете пользователей, трафик и место в поисковой выдаче сайтов, роботы которых не смогут индексировать недоступный ресурс.

Для восстановления работы Вам необходима будет актуальная резервная копия сайта (бэкап), которая не всегда хранится у хостинг-провайдера, а если и есть, то не всегда свежая. При работе с локальной копией такие проблемы Вам будут незнакомы, т.к. Вы не будете вносить правки прямо на сайт, и он всегда будет работать.

В случае неудачи при работе с локальной копией Вы всегда сможете получить бэкап, просто скачав файлы с сервера. Максимум, чем Вы пожертвуете, это потерянными изменениями. Но от этого никто не застрахован, просто будьте аккуратны при правках 🙂

Одно из главных достоинств данного метода в том, что при установке CMS на локальный компьютер, Вы имеете возможность работать без привязки к наличию сети Интернет.

Лично мне эта особенность очень помогла, когда я подрабатывал фрилансом, работая на заводе. Покрытия Интернет у нас вообще не было, даже для служебных целей.

Можно было пробиться в сеть, используя телефон в качестве модема, но с такой скоростью даже обычный сайт грузился порядка 5 минут. Да и то только там, где сигнал пробивался 🙂

Про себя могу сказать, что я не являюсь ярым сторонником какого-либо метода. Каждый имеет право на жизнь. Нужно действовать ситуативно.

Установка шаблона

Несмотря на тип Вашего ресурса и движок, который Вы используете, при создании сайта на CMS всегда недостаточно базовых возможностей. Особенно это утверждение правдиво в случае .

Если Вы создаёте новостной сайт, портал или блог, то оформление не так критично. Если же Вам необходимо создать Интернет-магазин или, ещё лучше, игровой сайт, то графическое оформление должно стоять на одном из первых мест при проектировке ресурса.

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

Поиск их, как правило, не составляет труда, т.к. они, к счастью, в большом обилии доступны на просторах Всемирной паутины. Можно даже заказать его у программистов индивидуально. Проблемы обычно начинаются при установке. Особенно это касается разработки сайтов на CMS, которые не имеют автоматических инструментов установки шаблонов.

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

Установка модулей

Такой же неотъемлемый этап создания сайта на CMS, как и установка шаблона. Несмотря на хорошие базовые возможности движка, его функционала явно недостаточно.

Если взять в качестве примера упоминаемый ранее OpenCart, то по умолчанию в нём нет способа оплаты через WebMoney и Яндекс.Деньги. В вариантах доставки нет различных курьерских служб. И так далее… В случае бесплатных продуктов данное явление встречается сплошь и рядом.

С дело обстоит немного лучше, но всё равно нет-нет, да и выскочит недоработка разработчиков. К тому же, часть базового функционала может не удовлетворить. По этой причине необходимо дополнять магазин различными модулями.

По поводу самого процесса установки модулей при создании сайта на CMS можно сказать, что дела обстоят 1-в-1 с шаблонами. Найти — легко, а установить – сложно 🙂

Поэтому в уроках по созданию ресурсов на базе различных движков мы будем выделять данному вопросу отдельную статью.

Перенос на хостинг

Данный этап разработки сайтов на CMS является частным минусом развёртывания локальной копии у себя на компьютере. Но не нужно его бояться, т.к. ничего страшного из себя он не представляет 🙂

Всё, что Вам потребуется – это имя пользователя и пароль вашей учётной записи на сервере хостинг-провайдера, а также программа для переноса файлов.

Одной из самых распространённых является FileZilla, которой пользуюсь я лично и рекомендую Вам.

Наполнение сайта

Этот этап является завершающим при создании сайта на CMS. Собственно говоря, он является плавным переходом от разработки веб-проекта к работе с ним. Т.к., вне зависимости от типа ресурса, для привлечения посетителей и увеличения заработка на нём на сайте нужно регулярно размещать тематическую информацию.

Новости, статьи, товары – чем их будет больше, тем успешнее у Вас будет сайт.

Все просто 🙂

Некоторым особняков в этом правиле стоит Интернет-магазин, т.к. товаров в нём может быть не одна тысяча. Поэтому для наполнения такого типа ресурса используют специальные технологии и программы, о которых мы обязательно поговорим в будущем.

В качестве итога скажу, что данный перечень является универсальным и независящим от CMS, которую вы выбрали, и типа создаваемого Вами ресурса. Поэтому можете смело им пользоваться при создании ресурсов на конкретных движках, о чём пойдёт речь в следующих публикациях.

На этом статья, посвящённая созданию сайта на CMS , подходит к концу. Я надеюсь, что составленная мною инструкция будет Вам полезна и Вы к ней не раз прибегните при создании своего ресурса.

Оставляйте в комментариях свои мнения и пожелания по поводу прочитанного. Делитесь записью со своими друзьями в социальных сетях с помощью кнопочек под статьёй, мне будет очень приятно 🙂

Также подписывайтесь на новости сайта, которые будут приходить Вам на e-mail, чтобы быть в курсе новых статей и новостей блога.

Всем удачи! 🙂

P.S. : если вам нужен сайт либо необходимо внести правки на существующий, но для этого нет времени и желания, могу предложить свои услуги.

Более 5 лет опыта профессиональной разработки сайтов. Работа с PHP , OpenCart , WordPress , Laravel ,

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

В ходе процесса вы научитесь создавать базы и таблицы MySQL, работать с объектами, константами, включениями, сессиями и прочими инструментами PHP. Кроме того мы покажем, как отделять логику приложения от презентации и сделать код PHP более безопасным. А также вам откроется многое другое, полезное в деле создания собственной системы мечты.

Вы можете посмотреть работу готового приложения на странице демонстрации (с целью безопасности включен режим "только чтение", так что добавлять, изменять и удалять статьи не получится). Также можно скачать полный код PHP нашей меленькой CMS с переведенными комментариями.

Примечание: для изучения материалов уроков потребуется веб сервер Apache с установленным модулем PHP и сервер MySQL. Для работы на локальном компьютере можно воспользоваться одним из инструментов веб разработчика: XAMPP (на английском языке), Denwer , Open server или другим.

Замечание о безопасности

В реальных проектах лучше помещать config.php где-нибудь за пределами корневого каталога веб сайта, так как в файле содержатся имена и пароли. Обычно код PHP невозможно просмотреть в браузере, но иногда из-за неправильной конфигурации веб сервера код становится доступным. Вы можете использовать функцию hash() для хэширования паролей и хранить в config.php хэши, вместо текстовых паролей. Затем при регистрации пользователя можно опять воспользоваться функцией hash() для кодирования введенного пароля и сравнения результата с сохраненным в config.php хэшем.

В следующем уроке мы построим основной класс нашего приложения - Article.