"CHIP / Россия"
Как и любую вещь в этом мире, сайт можно автоматизировать. И не просто
автоматизировать, а дать самому себе возможность, больше никогда не заглядывать
в его FTP-недры, и лишить процесс администрирования веб-сайта большинства
затрачиваемых физических усилий. Язык PHP в дает, просто, огромные возможности
по созданию “движка” для веб-сайта, и при этом, его синтаксис очень прост.
Впрочем, обо всем по порядку.
Что, собственно, требуется для создания хорошей системы администрирования
веб-сайта? Совсем немного – сервер, который бы разрешал использование
PHP-скриптов, и знание самого языка PHP, на котором мы и будем писать
“информационный двигатель”.
Так же, желательно иметь в своем распоряжении сервер Apache (http://apache.org),
и интерпретатор PHP (http://www.php.org) - и то и другое, распространяется
совершенно бесплатно, и свободно доступно для загрузки из сети.
Итак, начнем?
Введение в PHP
Сам язык программирования PHP, без интернета существовать не может. Он попросту
не нужен на обычном компьютере – второй Windows на нем не напишешь, и ничего
вразумительного и полезного – тоже. Разве что, чат для внутренней сети – это да.
Но за то в интернете, PHP считается одним из самых мощных языков, который стоит
на одной линейке, с тем же Perl’ом.
PHP является удобным, и в то же время достаточно простым языком. И уж если вам
доводилось писать программы на С или C++, c изучением PHP у вас и вовсе не
возникнет трудностей, так как синтаксис очень похож.
Любая (даже самая маленькая) программа на PHP, должна начинаться с оператора
<?php
и заканчиваться оператором
?>
Если эти операторы не будут проставлены в начале и конце программы, сервер
который будет обрабатывать запросы, не распознает код.
В PHP, как и в любом другом языке программирования, присутствует возможность
вставки комментариев – без этого никак. Комментарии порой выручают самого же
разработчика, не говоря уже о пользователях, которые возможно, будут
конфигурировать готовую программу - они не дают запутаться в структуре
программного кода, и делают его более читаемым. Текст комментариев в программах
на PHP существует двух видов – однострочный, и многострочный. Соответственно,
существует и два типа указания комментариев. Пример:
/* многострочный
комментарий */
и
// однострочный комментарий
В комментариях может находиться любой текст, будь то даже код PHP, или
“китайские колы”. В любом случае – сервер при обработке программы опускает все
строки, что отделены символами комментариев.
Переменные в программах на PHP, отделяются символами $. Например, в программе:
$name = “Мир”;
переменная $name будет равна значению Мир. А вывести значение переменной на
экран можно двумя способами:
echo $name;
и
print $name;
Ну, а код программы, которая выводила бы что-нибудь, вроде “Привет Мир!”, будет
выглядеть вот так:
$hello = "Привет";
$spacer = " ";
$name = "Мир";
$din = "!";
echo $hello;
echo $spacer;
echo $name;
echo $din;
Причем, как вы, наверное, уже догадались, имена переменных вещь совершенно не
подчиненная логике – например, имя переменной $din совершенно не соответствует
ее значению. Главное, не перепутать имена переменных при построении программы.
Основными элементами любой программы, являются переменные. Их иногда бывает даже
больше чем исполняемого кода программы. А когда делается очень большой скрипт,
который содержит большое количество файлов, часто приходится использовать одну и
ту же переменную в каждом файле. А если значение этой переменной вдруг
понадобится изменить, тогда придется перелопачивать каждый файл, редактируя его?
Неплохо было бы, если бы можно было вывести все переменные в один
конфигурационный файл, не так ли? Так и сделаем. На примере нашей программы,
вынесем все переменные в файл configuration.php3. А в текущем файле, оставим
только программу, которая теперь превратится в вот такой код:
require(“configuration.php3”);
echo $hello;
echo $spacer;
echo $name;
echo $din;
Теперь наша программа ищет в самой себе запрашиваемые переменные, а если таковых
найдено не будет, она отправится в путешествие на указанный в первой строчке
файл.
Но главным преимуществом PHP, является возможности вставки кода в web-страницу,
наряду со стандартным HTML-кодом. Это делает язык PHP очень гибким, и в то же
время необычайно удобным. В этом, он может соперничать разве что с технологией
ASP (Active Server Pages), но она, в отличии от рассматриваемого языка, может
использоваться только на серверах, базирующихся на основе Windows NT.
Первый движок
Теперь вы уже имеете представление о PHP, и можно сделать что-то более полезное,
нежели программу, которая выводит банальное “Привет Мир!”. Займемся разработкой
нашего движка.
Для начала, напишем программу, которая будет добавлять некоторые статьи в базу
текстов, и выводить любой из указанных файлов в одном шаблоне. Все это выглядит
очень сложным, но на самом деле очень просто. Сначала напишем на HTML форму,
откуда введенные данные будут передаваться программе на обработку:
<form method="POST" action="add_text.php3">
<p>Название текста:<br>
<input type="text" name="text_name" size="20"><br>
Текст:<br>
<textarea rows="12" name="text" cols="53"></textarea><br>
<input type="submit" value="Submit" name="Submit"></p>
</form>
Теперь напишем программу, которая введенные в форму данные обработает должным
образом, и сохранит в папку texts:
<?php
$filename = "$name"; /* указываем с каким именем будет сохранен файл. Именем
файла, будет служить название текста, введенное в соответствующее поле формы */
$fp = fopen("texts/$text_name.txt","w+") /* открываем файл, а если он не найден,
директивой “w+” указываем что его надо создать */
fputs($fp, "<b>$text_name</b><br>$text"); /* сохраняем с учетом
HTML-форматирования текст в базу текстов */
fclose($fp); /* закрываем файл по завершению всех работ */
?>
Вот и все – эта программа сохранит все введенные в форму данные. Теперь нам
нужно их вывести. Здесь на помощь тоже приходит PHP. Зачем же нам создавать
огромное количество веб-страниц, для каждого документа хранящегося в базе
текстов, если любой из них можно вывести в одном шаблоне?
Создаем HTML-файл, и в месте, где предполагается вывод текстов, пишем следующий
PHP-код:
<?
$filename = "read/".$open .'.txt'; // открываем указанный текст
if (file_exists ($filename)): // если такой файл существует…
$fd = fopen ($filename, "r"); // …открываем его…
$showtext = fread ($fd, filesize ($filename)); // и считываем в переменную
$showtext
fclose ($fd); // закрываем файл
echo ($content); // выводим текст если файл найден, а если нет…
else: echo ("Указанный текст отсутствует в базе текстов."); // пишем что такого
файла нету
endif; // конец цикла, и конец программы
?>
Все так – подумает читатель – но как же указать файл? Очень просто. Предположим,
что приведенный выше код, находится в файле read.php3. В строке броузера, просто
пишем read.php3?open=имя_файла_без_расширения.
Думаю, вряд ли кто-то станет спорить, что такой способ очень удобен. Интересно,
что в файле может храниться не обязательно текст – это может быть и HTML-код, и
какой-то другой скрипт… словом, все, что только может разобрать броузер или
сервер. |