Возможно самая сильная и значимая возможность в PHP - уровень
интеграции с базами данных. Написание веб-страницы, работающей с базой
данных невероятно проста.
В настоящее время поддерживаются следующие базы данных: Oracle, Adabas
D, Sybase, FilePro, mSQL, Velocis, MySQL, Informix, Solid, dBase, ODBC,
Unix dbm, PostgreSQL. Несомненно, список будет постоянно расширяться
разработчиками. Я не сомневаюсь, что если у Вас есть на сервере база
данных, то это одна из этих перечисленных. Впрочем, если этого добра
нет, не беда. РНР с легкостью позволяет сделать эмуляцию базы данных,
делая запись непосредственно в файлы. Лишь бы места хватило.
HTTP - аутификация средствами PHP:
Позволяет выполнить парольный вход в закрытую зону. Аутификация в PHP
доступна только при использовании модуля Apache. При использовании
специальной функции вызывается окно диалога, позволяющее ввести логин и
пароль, а в дальнейшем легко проверить введенные данные. Но на самом
деле может оказаться проще и удобней самостоятельно организовать
закрытую зону и предоставить для авторизованных посетителей к ней
доступ.
Создание GIF-файлов с помощью PHP:
PHP не ограничен созданием только HTML вывода (кода и текста). Он может
также использоваться для создания файлов GIF, JPEG или PNG. Для этого
вам надо скомпилировать PHP с библиотекой функций изображения - GD, что
уже будет зависеть, как я писал, от провайдера или хостера.
Поддержка file upload:
Очень полезная штука. Позволяет реализовать закачку файлов на сервер
пользователем. Пригодится, например, для обмена музыкой, рефератами,
программами и т.д. Кроме того, РНР предоставляет полный контроль над
загружаемым файлом, в том числе есть ограничения на размер, а так же
есть возможность управлять загруженным файлом.
Поддержка HTTP cookie:
PHP поддерживает HTTP cookie. Cookie - механизм для сохранения данных
(небольших файлов до 4 килобайт с информацией) в удаленном браузере и,
таким образом, трэкинг или идентификация пользователей. Вы можете
устанавливать файлы cookie, используя функцию setcookie(). Cookie -
часть HTTP заголовка, так что функция SetCookie() должна вызваться
прежде, чем браузеру будет послана какая-нибудь информация для вывода,
вплоть до пробела. Любой cookie, посланный Вам от клиента будет
автоматически превращен в переменную PHP.
Регулярные выражения:
Регулярные выражения используются для сложного манипулирования строками
в PHP. Вообще, на мой взгляд, это одна из самых полезных возможностей
РНР. На основе этих функций со строками можно сделать все, что угодно.
Обработка ошибок:
Реализована как на глобальном уровне, так и на локальном. Вы можете
вообще отключить вывод сообщений об ошибках на экран пользователя
(полезно в готовом рабочем варианте программы, закачанном для работы на
сервер), или обработать функцию таким образом, что бы ошибка не была
отображена, а сообщение об ошибке было отправлено по почте на любой
адрес. Хотя, как правило, на это не обращают внимание, и порой в
результате неправильных действий получаешь такую ошибку себе в браузер.
Программа может получать сведения об ошибочность действий и таким
образом принимать решения о своей дальнейшей работе.
Управление электронными письмами:
Если вкратце, то все сведено к одной функции. Есть адрес и текст, для
отправки на этот адрес, а дальше уже дело РНР, как все это сработает,
только письмо будет отправлено без проблем. В дальнейшем мы рассмотрим
не один пример с поддержкой писем.
Недокументированные возможности:
Очень многие провайдеры предоставляют доступ к своим страничкам по
гостевому входу. При этом выход на внешний Интернет блокируется. РНР
позволяет частично снять такую блокировку (точнее, обойти ее) и
пользоваться отправкой писем и смотреть адреса в Интернете. Что уже не
мало. Впрочем, такой возможности может и не оказаться, так как админы
таких провайдеров иногда знают свое дело и закрывают все дырки.
Это круто…
На своем личном опыте я могу сказать что сайт, построенный полностью на
РНР, не испытывает каких-либо задержек в открытии и работе. Даже не
смотря на то, что интерпретатор РНР значительно нагружается за счет
вставки новостей, подсчета статистики, генерации баннеров нескольких
типов и склеивания странички из нескольких кусков. Это, и многое другое
нормально будет функционировать при условии элементарной внимательности
и качественной настройки сервера. А ведь как хочется иметь все это у
себя на сайте, да еще и не прикладывая каких-либо усилий…
Конечно, перечисленные тут возможности языка PHP далеко не полные, но
по мере знакомства с ним Вы научитесь создавать очень сложные порой
вещи буквально одним движением руки (это я образно, конечно). И по мере
своего развития узнаете значительно больше.