Возможно самая сильная и значимая возможность в PHP3 - уровень интеграции с базами данных. Написание веб-страницы, работающей с базой данных невероятно проста.
В настоящее время поддерживаются следующие базы данных: 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 5.
Авторы: Колисниченко Д.Н.
Издательство: "Наука и техника"
Год издания: 2004, страниц: 567
ISBN: 5-94387-151-9
Данная книга является превосходным учебным пособием, позволяющим быстро освоить и эффективно использовать РНР. Здесь вы найдете все, что для этого необходимо: от описания настройки РНР, основ CGI и базовых конструкций языка, до работы с сессиями, каналами, сокетами и другими специальными технологиями РНР. Особое место занимает рассмотрение взаимодействия РНР с базами данных. В книге рассмотрены, как MySQL, так и SQLite, поддерживаемая РНР 5.
При всем при этом, книга максимально ориентирована на достижение реальных практических результатов. В деталях описано, как создать на РНР свою гостевую книгу, чат, форум, почтовую рассылку на сайте, новостную ленту и даже Интернет-магазин. Приведены готовые скрипты. Отдельно рассмотрена методика создания системы автоматического управления содержимым сайта ("движка"). Такая система позволит вам максимально упростить поддержку и обновление своего сайта. Кроме создания своих скриптов, приведено описание профессиональных продуктов (бесплатных и открытых): форума РНРВВ и системы PHP-Nuke. Эти продукты применяются на огромном количестве сайтов и позволяют "дважды не изобретать велосипед", а использовать уже готовые решения.
Книга отличается простотой и ясностью изложения материала. Написана опытным и известным автором. Лучший выбор для начинающих изучать РНР.
Обработка ошибок:
Реализована как на глобальном уровне, так и на локальном. Вы можете вообще отключить вывод сообщений об ошибках на экран пользователя (полезно в готовом рабочем варианте программы, закачанном для работы на сервер), или обработать функцию таким образом, что бы ошибка не была отображена, а сообщение об ошибке было отправлено по почте на любой адрес. Хотя, как правило, на это не обращают внимание, и порой в результате неправильных действий получаешь такую ошибку себе в браузер. Программа может получать сведения об ошибочность действий и таким образом принимать решения о своей дальнейшей работе.
Управление электронными письмами:
Если вкратце, то все сведено к одной функции. Есть адрес и текст, для отправки на этот адрес, а дальше уже дело РНР, как все это сработает, только письмо будет отправлено без проблем. В дальнейшем мы рассмотрим не один пример с поддержкой писем.
Недокументированные возможности:
Очень многие провайдеры предоставляют доступ к своим страничкам по гостевому входу. При этом выход на внешний Интернет блокируется. РНР позволяет частично снять такую блокировку (точнее, обойти ее) и пользоваться отправкой писем и смотреть адреса в Интернете. Что уже не мало. Впрочем, такой возможности может и не оказаться, так как админы таких провайдеров иногда знают свое дело и закрывают все дырки.
Это круто…
На своем личном опыте я могу сказать что сайт, построенный полностью на РНР, не испытывает каких-либо задержек в открытии и работе. Даже не смотря на то, что интерпретатор РНР значительно нагружается за счет вставки новостей, подсчета статистики, генерации баннеров нескольких типов и склеивания странички из нескольких кусков. Это, и многое другое нормально будет функционировать при условии элементарной внимательности и качественной настройки сервера. А ведь как хочется иметь все это у себя на сайте, да еще и не прикладывая каких-либо усилий…
Конечно, перечисленные тут возможности языка PHP далеко не полные, но по мере знакомства с ним Вы научитесь создавать очень сложные порой вещи буквально одним движением руки (это я образно, конечно). И по мере своего развития узнаете значительно больше.