CFA LogoCFA Logo Computer
Новости Статьи Магазин Драйвера Контакты
Новости
RSS канал новостей
В конце марта компания ASRock анонсировала фирменную линейку графических ускорителей Phantom Gaming. ...
Компания Huawei продолжает заниматься расширением фирменной линейки смартфонов Y Series. Очередное ...
Компания Antec в своем очередном пресс-релизе анонсировала поставки фирменной серии блоков питания ...
Компания Thermalright отчиталась о готовности нового высокопроизводительного процессорного кулера ...
Компания Biostar сообщает в официальном пресс-релизе о готовности флагманской материнской платы ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2002 ГОД

Сервер племени апачей

Артем Cosmic ШМАНЦЫРЕВ cosmic@mail.zp.ua

(Продолжение, начало см. в МК № 38-40 (209-211)).
Сегодня мы вплотную займемся тем, к чему так долго стремились в предыдущих статьях. А именно — делом :-).

Итак, подведя итоги наших с вами долгих мучений по выбору и настройке программного обеспечения для нашего сервера, мы можем, наконец, начать то, ради чего все это и было затеяно — программировать на PHP. У нас все для этого готово, остается только запустить редактор CuteHTML, ярлычок которого автоматически появился на вашем рабочем столе после установки этой полезной софтины, и набрать в нем заветный текст скрипта, сохранив который, получим долгожданный динамический сайт. Но что-то нам мешает. Что же? Ах, да… Мы же не знаем, что писать :-). Но это дело поправимое.

Кстати, насчет редактора. Дополняя предыдущий обзор, не могу не сказать, что в своих блужданиях по просторам Сети я случайно набрел на очень неплохой редактор исходного кода, предназначенный специально для PHP и имеющий все необходимые для работы «фишки»: подсветку синтаксиса, нумерацию строк и даже небольшой файловый менеджер. Называется он Arisesoft Winsyntax, скачать это чудо программерской мысли можно по адресу http://www.winsyntax.com/files/site2/aswsyn20.zip.

Изучение PHP, как и любого другого языка программирования, мы начнем с описания структуры программы. Говоря простым языком, структура программы — это то, что мы видим в редакторе исходного кода. PHP имеет несколько специфичную структуру исходного текста, которая, однако, обладает рядом несомненных достоинств.

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

Во-вторых, в тело PHP-скрипта можно встраивать обыкновенные HTML-тэги и тем самым в качестве результата выводить HTML-страницу, которая может быть очень гибко отформатирована в зависимости от ваших требований. Это очень напоминает майскрософтовскую технологию ASP (подробнее о ней читайте в цикле статей Алексея СИТНИКОВА «Уроки ASP-технологии», МК №8, 11-13, 15, 17-18, 20, 22, 27 (180, 183-184, 186, 188-189, 191, 193)). Вообще, PHP — конгломерат всяческих CGI-языков, сочетающий характерные их возможности и особенности.

И наконец, сам синтаксис языка тоже недалеко ушел от ASP. В PHP поддерживается четыре способа разметки, то есть указания интерпретатору начала и окончания блока PHP-инструкций, которые необходимо выполнить. Каждый из этих способов может быть совмещен с обыкновенным HTML-кодом (об этом позже), причем в браузере не будет виден исходный код скрипта — только результат его выполнения.

1. Стандартный способ разметки:

Для всех. Этот способ используется по умолчанию и работает всегда и везде.

2. Сокращенный способ:

Для тех, кому лень много писать :-). Правда, для этого в файле php.ini (который находится или в папке, в которую установлен PHP, или в вашей папке Windows) необходимо предварительно установить опцию short_open_tag=On.

3. ASP-стиль разметки:

Для тех, кто привык работать с ASP. Для этого в файле php.ini необходимо установить опцию asp_tags=On.

4. Script-стиль разметки:

Экзотический способ разметки исходного текста — работает, как и стандартный, всегда и везде и предназначен для тех, кто привык работать с JavaScript или VBScript.

Итак, разобрались. Все инструкции языка PHP мы будем помещать между специальными тэгами. Кстати, очень советую использовать первый способ (<?php … ?>) — мало ли какие установки PHP поддерживаются реальным сервером, на котором вы впоследствии разместите свой отработанный сайт, а такой способ разметки будет работать всегда. Теперь для того, чтобы всем все стало понятно, мы напишем свой первый PHP-скрипт.

Речь идет о хрестоматийном примере — простейшей программе, выводящей приветствие пользователю. Для этого в директории f:\www создадим новый файл с именем hello.phtml, откроем его с помощью текстового редактора и запишем в него следующий текст:

Сохраняем набранный текст, запускаем браузер, в адресную строку которого вводим http://www.mycomp.com.ua/hello.phtml(будет работать — если, конечно, вы настроили сервер, как альтернативу сайта МК :-). В противном случае, введите http://127.0.0.1/hello.phtml). Результат не Рис. 1заставит долго ждать (Рис. 1).

Теперь осталось разобрать все по строкам.

Строки 1 и 3 обозначают соответственно начало и конец блока. В строку 2 мы записали собственно PHP-инструкцию, которая и выводит наше сверхоригинальное приветствие :-). Вообще, семантика (т.е. написание и произношение) ключевых слов языка PHP соответствует их значению в английском языке, что придает PHP, как и любому другому языку программирования высокого уровня, удобство чтения и запоминания. Также и в нашем примере —echo обозначает «отобразить, отразить», что и происходит при выполнении скрипта.

И еще немного о полезных особенностях PHP. Наш первый скрипт можно было написать немного иначе:

При этом полученный в качестве результата динамический HTML-код не будет содержать исходного текста нашего скрипта и будет выглядеть примерно так:

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

В языке PHP можно использовать все символы, которые можно ввести с клавиатуры. При этом символы русского алфавита можно использовать только в кавычках, в качестве значения выражений, которые не несут смысловой нагрузки на интерпретатор. В первом скрипте вместо Hello, my dear user! мы вполне могли написать Привет, мой дорогой пользователь!.

Все операторы и выражения в языке PHP должны заканчиваться символом ; (точка с запятой), который показывает интерпретатору окончание обработки предыдущего оператора и начало обработки следующего. В нашем случае единственное выражение — функция echo — также заканчивается точкой с запятой, хотя именно в данном случае этого делать не обязательно — завершающий тэг ?> сам по себе является указателем последнего выражения.

С возможностью использования тех или иных алфавитно-цифровых символов латинского алфавита и других специальных символов мы познакомимся позже. А пока немного модернизируем наш первый скрипт, применив в нем новое понятие —переменную.

Переменная — это поименованная область памяти, имеющая определенное значение и тип и доступная в своей области определения по определенному идентификатору, называемому именем переменной (ух, как завернул! :-)). Во втором скрипте именем переменной является $message, она имеет тип string, а ее значением является строка Hello, my dear user! В PHP имена переменных всегда начинаются со знака доллара $, в любом другом случае имя переменной интерпретируется как ключевое слово, что неизбежно вызовет ошибку в интерпретации скрипта. После символа $ всегда должен идти алфавитный (не цифровой!) символ или знак подчеркивания.

PHP версии 4 и выше поддерживает работу с восемью типами данных: booleans (в качестве значения может принимать true или false), integers (в качестве значений — только целые числа), floating point numbers (числа с плавающей точкой), strings (строки), \(массивы данных любого типа), objects (объекты), resources (ресурсы), NULL (переменная, не содержащая никакого значения). Все перечисленные типы мы будем подробно рассматривать в следующих публикациях. Сейчас они нам не нужны :-).

При работе со значениями переменных мы неизбежно столкнемся с арифметическими операциями — присвоения, вычитания, умножения, деления и т.д. PHP в этом плане очень демократичен и не забивает головы программистам ненужными нововведениями. Здесь все, как и в любом другом языке программирования — операция присвоения обозначается знаком =, вычитания — знаком –, умножения — звездочкой *, деления — знаком /. Естественно, в PHP мы можем работать и с логическими операциями, но об этом мы поговорим в следующих статьях.

Огромным, на мой взгляд, преимуществом языка PHP является то, что переменные в теле скрипта совершенно необязательно заранее объявлять и присваивать им тот или иной тип — все это делается динамически. Это значит, что мы можем в первой строке скрипта присвоить переменной $var значение Variable (тип строка), а во второй —112 (целое число), и интерпретатор при этом не задохнется! В принципе, это очень удобно, но я все же советовал бы вам следить за переменными, так как такая гибкость кода может оказаться на руку хакерам и прочим нехорошим личностям. Но о вопросах безопасности нам говорить пока рано — если кто-то очень хочет взломать наш первый скрипт — пусть ломает на здоровье! Мы ведь гуманисты :-).

Несмотря на подобную гибкость, PHP позволяет жестко установить тип той или иной переменной. Для этого служит функция settype(), которая в качестве параметров принимает имя переменной и тип, который ей (переменной) нужно сопоставить. Например, settype($message, “string”) жестко устанавливает нашей переменной тип строка. Это, правда, не значит, что мы не сможем в дальнейшем присвоить ей целочисленное значение :-), но формальности будут соблюдены. В качестве второго параметра можно установить “boolean”, “integer”, “double” (для PHP 4.2.0 и выше —“float”), “string”, “array”, “object” или “null”.

Еще одна полезная конструкция PHP (как, впрочем, и любого другого языка программирования) — это комментарии. Без комментариев любой, даже самый профессиональный программер запутается в десятках килобайт собственного кода :-). Комментарий — это специальная синтаксическая конструкция, позволяющая разработчику размещать ту или иную служебную информацию непосредственно в теле скрипта (с помощью комментария можно, например, исключить ту или иную инструкцию из потока выполняемых операторов или в исходном коде указать собственные авторские права :-)). Комментарии не несут смысловой нагрузки и при обработке программы просто пропускаются. В РНР комментарии обозначаются следующим образом:

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

Здесь мы комментарием разорвали функцию echo. При этом интерпретатор не выдаст сообщение об ошибке — функция echo будет выполнена, но без параметров. И мы увидим чистый лист :-)

Еще одной особенностью движка PHP является очень полезная возможность строкового типа данных — подстановка переменных непосредственно в тело строки, заключенной в двойные кавычки. При этом строка, заключенная в одинарные кавычки, выводится без обработки. В нашем скрипте мы могли написать:

Результат выполнения этого скрипта изображен на Рис. 2.

Эта особенность позволяет гибко использовать возможности текстового форматирования, используя так называемые управляющие последовательности (escaped characters). В их число входит, например, символ перехода на новую строку \n или символ горизонтальной табуляции \t. Мы могли бы написать echo “Здравствуй, дорогой $name!\n”, и следующая за этим выражением строка Рис. 2вывелась бы с нового абзаца.

На сегодня все. Статья получилась немного скучноватой, слишком много серьезных вещей и слишком мало смайликов :-). Но я обещаю исправиться и в следующих статьях все упростить и сделать намного веселей.

(Продолжение следует)

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы или вычислите пример: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © sector.biz.ua 2006-2015 design by Vadim Popov