Работа с Базами Данных:
Возможно самая сильная и значимая возможность в 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 далеко не полные, но по мере знакомства с ним Вы научитесь создавать очень сложные порой вещи буквально одним движением руки (это я образно, конечно). И по мере своего развития узнаете значительно больше.
Автор: Андрей Кухарчик