Разработка системы управления содержимым
Краткое сожержание материала:
Размещено на
ВВЕДЕНИЕ
Процесс разработки сайта является очень сложным и делом, который требует больше времени и внимания. Сайт должен быт простым, красивым и понятным. Данный продукт является системой, который можно создать простые блоги, сайты визитки или сайт новостей. Он создан в принципе MVC системы. Данный принцип является очень популярным и простым при разработке подобных систем.
В этом документе приведены все классы основные классы системы и функции с описанием. Он состоит из четырех разделов.
На первом разделе названием Регулярные выражении приведено описание функций, которые работает с регулярными выражениями.
Раздел Отправка писем содержит описание классов и функций который работает с отправкой электронных писем в системе.
Описание функций раздел который является самым большим и имеющий содержание о всех функциях классах и модулях системы.
1. РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ
Ранее для поиска в строке подстроки использовались строковые функции, ограничиваясь при этом случаями точного соответствия строк и подстрок. Для работы со строками можно использовать также регулярные выражения, представляющие собой, по сути, мини-язык описаний для поиска в строках информации по заданному шаблону. С помощью регулярных выражений можно найти в строке подстроку, удовлетворяющую заданному шаблону и извлечь ее, проверить существует ли заданная строка и т.д.
1.1 Класс для работы с регулярными выражениями
Ниже приведено листинг класса для работы с регулярными выражениями. Название класса regular имеющий функции Activate, getResult, checkRegular.
Данная функция позволяет автоматически загрузить список всех регулярных выражений который используется в системе.
Листинг 1.1. Функция Activate
public static function Activate()
{
include DIR_MODULES."regulars/regulars.php";
if(isset($regs))
{self::$regulars = new params($regs);}
else
{ self::$regulars = new params();}
}
Функция chekRegular проверят на существования регулярного выражения в системе.
Листинг 1.2. Функция checkRegular
public static function checkRegular($name)
{
return self::$regulars->is_isset($name);
}
Функция выполняет проверку заданных данных с используя регулярных выражений и возвращает результат. Данная функция имеет два параметра первый object это значение который надо проверит и второй это filter_type который указывает тип фильтра.
Листинг 1.3. Функция getResult
public static function getResult($object,$type,$filter_type="preg_match")
{ if(isset($object) and $filter_type=="preg_match")
{ if(!self::$regulars->is_isset($type))
{return false;}
else
{return preg_match(self::$regulars->getValue($type),$object);}
}
elseif($filter_type=="preg_match_all")
{if(!self::$regulars->is_isset($type))
{return false;}
else
{$l = preg_match_all(self::$regulars->getValue($type),$object,$mass);
return $mass;
}
}
}
1.2 Класс для проверки данных при регистрации
Данный класс позволяющий выполнить проверку данных пользователя. В классе создано функции login ,password, mail, dateage.
Данная функция позволяет сделать проверку логина на существования и корректность с использованием регулярного выражения.
Листинг 1.4. Функция login
public static function login($l)
{
if(!isset($l))
{
self::$log['login'] = XATO_LOGIN_YOQ;
return false;
}
elseif(strlen($l)<6 and strlen($l)>12)
{
self::$l['login'] = XATO_LOGIN_KK;
return false;
}
elseif(!regular::getResult($l,'login'))
{
self::$log['login'] = XATO_LOGIN_NOTOGRI;
return false;
}
elseif(data::$user->getValue("login","user_login='$l'"))
{
self::$log['login'] = XATO_LOGIN_MAVJUD;
}
else
{
return true;
}
}
Password - функция который проверятся с использованием регулярных выражений, сравнивает две пароли на правильность и возвращает данные шифрованный методом md5.
Листинг 1.5. Функция password
public static function password($p1,$p2)
{
if(!isset($p1) or !isset($p2))
{
self::$log['password'] = XATO_PAROL_YOQ;
}
elseif(strlen($p1)<6 and strlen($p2)>12)
{
self::$log['password'] = XATO_PAROL_KK;
return false;
}
elseif($p1==$p2)
{
self::$log['password'] = XATO_PAROL_OXSHASHMAS;
return false;
}
elseif(!regular::getResult($p1,'password'))
{
self::$log['password'] = XATO_PAROL_NOTOGRI;
return false;
}
else
{
return true;
}
}
Функция mail проверят на корректность заданного электронного адреса.
Листинг 1.6. Функция mail
public static function mail($m)
{
if(!isset($m))
{
self::$log['mail'] = XATO_EMAIL_YOQ;
return false;
}
elseif(!regular::getResult($m,'email'))
{
self::$log['mail'] = XATO_EMAIL_NOTOGRI;
return false;
}
elseif(strlen($m)<6 and strlen($m)>255)
{
self::$log['mail'] = XATO_EMAIL_KK;
return false;
}
else
{
return true;
}
}
2. ОТПРАВКА ПИСЕМ
Самый простой способ отправить письмо при помощи PHP - воспользоваться стандартной функцией mail. Она имеет следующий синтаксис:
bool mail (string to, string subject, string message [, string additional_headers [, string additional_parameters]])
2.1 Класс для отправки сообщений
Данный класс позволяет отправлять электронные письма в PHP и имеет опции задержки писем. В классе Mail имеется следующие функции Send, Delay, Abort, Complete.
С помощью функции Send задается данные отправляемого письма и он имеет следующие параметры:
· $to - электронная почта получателя
· $subject - тема отправляемого письма
· $message - текст отправляемого письма
· $from - адрес электронной почты отправителя
· $reply - адрес электронной почты который должен отправляется ответ.
Листинг 2.1. Функция Send
static function Send($to, $subject, $message, $from, $reply = null){
if (empty($reply)){
$reply = $from;
}
$reply = "Reply-To: $reply\r\n";
$headers = "MIME-Version: 1.0\r\n".
"Content-Type: text/html; charset=UTF-8\r\n".
"From: $from\r\n".
$reply.
"X-Mailer: PHP/".phpversion();
$subject = mb_encode_mimeheader($subject, 'UTF-8', 'B', "\r\n", 9);
if (self::$delay){
self::$mail[] = array($to, $subject, $message, $headers);
}else{
try{
mai...
Разработка системы управления содержимым сайта
Преимущества и недостатки статических и динамических сайтов. Эволюция и классификация web-приложений. Требования, предъявляемые к системам управления...
Система бронирования мест в отелях города
Разработка системы управления гостиничного портала компании "Петербургские Отели" с интеграцией комплекса модулей для управления его содержимым. Основ...
Разработка Web-приложений на PHP и PostgreSQL. Руководство разработчика и администратора
Книга представляет собой всеобъемлющее учебное пособие и справочное руководство по совместному применению одного из наиболее популярных языков PHP и м...
Разработка автоматической системы управления железнодорожным переездом
Разработка устройства-системы автоматического управления, которая отвечает за безопасность движения транспорта через железнодорожный переезд. Разработ...
Создание системы управления содержимым (CMS) на примере web представительства фирмы недвижимости
Традиционные направления использования интернет-представительств. Обязанности и функции корпоративного сайта. Статические и динамические web-сайты. CM...