Сделать стартовой  Добавить в избранное
Воскресенье, 19.05.2024, 16:37
Главная
Регистрация
Вход
Мир софта!
Приветствую Вас Гость | RSS
Mirsoft
Меню сайта
Наш опрос
Оцените мой сайт
Всего ответов: 21

PHP - язык программирования для Интернета

Вы вышли за рамки статических www-страниц? Вам требуется обрабатывать html-формы? Вы хотите сделать интефейс с базой данных через веб? Электронный магазин? Счетчик с подробной статистикой или опрос посетителей вашего сайта? Есть множество программ, работающих через интерфейс CGI, как правило, написанных на языке Perl, но сегодня существуют и другие возможности.

Почему PHP?

Perl - очень хороший, мощный язык, но слишком высоки системные издержки во время вызова программы на каждый запрос страницы, особенно в Windows. Существуют ли альтернативы? В последние годы быстро набирает популярность язык программирования веб-приложений PHP (Personal Home Page, www.php.net). В 1994 году Расмус Лердорф (Rasmus Lerdorf) начал разработку встроенного в HTML языка программирования, исполняющегося на стороне сервера. Со временем к проекту присоединились и другие разработчики, и сейчас PHP - это бурно развивающееся средство программирования, работающее на очень многих серверах в Интернете. Как средство разработки www-приложений PHP сейчас лидирует - вместе с ASP, FrontPage и mod_perl.

Достаточно полно описать язык программирования и сопутствующие инструментальные библиотеки в одной статье невозможно, однако можно постараться: не описывая синтаксис или библиотечные функции, полезно остановиться на особенностях создания скриптов на PHP. А с подробной документацией по PHP можно ознакомиться на сайте www.php.net/manual.

PHP можно установить в двух вариантах: как отдельный интерпретатор, работающий через интерфейс CGI, или как модуль веб-сервера, встроенный в сам сервер. В последнем случае становятся актуальными все преимущества PHP.

Из аналогичных встроенных в сервер программных средств хорошо известны SSI, mod_perl, ASP. Но SSI обладает довольно ограниченными возможностями, а mod_perl, на мой взгляд, слишком много умеет. Ближайшим аналогом PHP является ASP, но технология ASP не прижилась в мире Unix/Apache, где простой, удобный и быстрый язык PHP постепенно завоевывает первые ряды.

Сейчас распространена версия 3 интерпретатора PHP, версия 4 пока еще находится в стадии бета-тестирования. Принципиальных отличий четвертой версии от третьей нет, есть только несколько изменений синтаксиса (описанных на сайте www.php.net/version4/incompatibilities.php), которые большинство пользователей не заметит: подавляющее большинство скриптов будут работать в обеих версиях языка.

Как и все процедурные языки, PHP можно разделить на собственно язык и библиотеку функций. Существует большое количество инструментальных средств для PHP, интерфейсы ко всем популярным СУБД, почтовым протоколам, к разделяемой памяти, графическим файлам, архивам и множество других инструментов.

Основы языка PHP

Скрипт на PHP представляет собой файл, как правило, с суффиксом .phtml, .php3 или .php, который внутри выглядит как обычная страница на HTML. Отличие проявляется только в виде хитрого тега , делающего из HTML настоящий язык программирования. Часто применяют сокращенную форму или, для совместимости с визуальными средствами формирования страниц, <% %>. Будем разумно придерживаться традиции и пользоваться тегом . Внутри этого тега располагается код на языке PHP. Вот тривиальный пример страницы:


Это текст страницы


Посетителю такой страницы будет показан документ с картинками, меню и текстом, красиво упакованным в хитро вложенную таблицу. Отдельные файлы header.html и footer.html будут просто включены в тот документ, что отдается сервером посетителю страницы. Таким образом можно отделить оформление страницы от ее наполнения, сильно облегчая работу по внесению информации на сайт даже неквалифицированным работникам.

Текст скрипта выполняется сверху вниз и справа налево, последовательно. Эта последовательность может быть изменена операторами цикла и условными операторами. Например:

Тебя зовут

капитан Немо

Здесь мы получим текст «Тебя зовут Вася» или «Тебя зовут капитан Немо» в зависимости от значения переменной $name.

В примере видно, что мы прервали текст тегами PHP. В языке есть несколько функций вывода - echo, printf и др., но приведенный в примере код работает намного быстрее, чем, например, if ($name=='Вася') echo 'Вася'.

Перевод строки, идущий после закрытия тега ?>, интерпретатор пропускает. Сделано это для удобства форматирования исходных текстов скриптов.

Переменные в PHP отличаются наличием символа $ (доллар) перед именем самой переменной. Объявлять их никак не надо, так как они создаются автоматически при присвоении им значения и удаляются при выходе из области действия. Переменные бывают типа строка, число, массив и объект. Некоторые трудности может вызвать нестрогое отличие строк от чисел. Поясню на примере:

$a=5; // Число
$b='6b'; // Строка
$c=$b.$a; // Строка: '6b5'
$d="$a$b"; // Строка: '56b'
$e=$a+$b; // Число: 11
$f=$b+$a; // Число: 11
?>

Интерпретатор очень вольно приводит типы строка и число друг к другу. Хотя чаще всего это даже удобно. Просто надо об этом помнить и не пытаться сравнивать строку с числом:

$a=5;
$b='ой!';
if ($a>$b) echo "1";
if ($b>$a) echo "2";
?>

В первом случае сравниваются числа 5 и 0 и результат, естественно, положительный. А во втором случае что сравнивается? Документация на этот счет молчит, а эксперимент показывает, что сравниваться будут тоже числа. Согласен, что это не строго и не очень красиво, и в условных операторах я рекомендую использовать операторы приведения типа, как в языке Cи: