Котеров Д.В. Самоучитель PHP4. Общая структура книги


Книга состоит из пяти частей, содержащих в общей сложности 33 главы, и двух при- ложений. Непосредственное описание языка PHP начинается с третьей части. Это объясняется необходимостью прежде узнать кое-что о CGI (Common Gateway Interface — Общий шлюзовой интерфейс) —первая часть, а также выбрать подходящий инструментарий и Web-сервер для программирования — вторая часть. В четвертой части разобраны наиболее полезные стандартные функции языка. Пятая часть посвя- щена различным приемам программирования на PHP с множеством примеров. При- ложения содержат техническую информацию, которая может иногда пригодиться Web-программисту.
Теперь чуть подробнее о каждой части книги. В первой рассматриваются теоретиче- ские аспекты программирования в Web, а также основы того механизма, который позволяет писать программы в Сети. Если вы уже знакомы с этим материалом (на- пример, занимались программированием на Perl или других языках), можете ее сме- ло пропустить. Вкратце я опишу, на чем базируется Web, что такое интерфейс CGI, как он работает на низком уровне, как используются возможности языка HTML при программировании Web, как происходит взаимодействие CGI и HTML и многое дру- гое. В принципе, вся теория по Web-программированию коротко изложена именно в этой части книги. Так как CGI является независимым от платформы интерфейсом, материал не "привязан" к конкретному языку (хотя в примерах используется Си как наиболее универсальный язык). Если вы не знаете языка Си, не стоит отчаиваться: немногочисленные примеры на этом языке не настолько сложны, чтобы в них можно было "запутаться". К тому же, каждое действие подробно комментируется. Большин- ство описанных идей будет повторно затронуто в последующих главах, посвященных уже языку PHP.
Вторая часть книги довольно небольшая и состоит из разного рода дополнительной информации, связанной по большей части с серверным программным обеспечением Apache. Сервер Apache — один из самых популярных в мире, на нем построено око- ло двух третей хостов Интернета (по крайней мере, на настоящий момент). Главное его достоинство — простое и в то же время универсальное конфигурирование, что позволяет создавать довольно сложные и большие серверы на его основе. Думаю, вряд ли в ближайшее время кто-либо будет серьезно использовать PHP под управле- нием какого-то другого сервера, нежели Apache. Основное внимание во второй части уделено установке и использованию Apache для Windows, поскольку, как мы увидим ниже, это очень сильно облегчает программирование и отладку сценариев. Не секрет, что подчас выбор неверного и неудобного инструментария только из-за того, что "им пользуются все", является серьезной помехой при программировании. Именно из-за этого многие "закаленные" Web-программисты "старого образца" не принимают PHP всерьез. Вторая часть книги призвана раз и навсегда решить эту проблему.
Третья часть целиком посвящена основам PHP. Язык PHP — сравнительно молодой, но в то же время удивительно удобный и гибкий язык для программирования Web. С помощью него можно написать 99% программ, которые обычно требуются в Интер- нете. Для оставшегося 1% придется использовать Си или Perl (или другой универ- сальный язык). Впрочем, даже это необязательно: вы сильно облегчите себе жизнь, если интерфейсную оболочку будете разрабатывать на PHP, а ядро — на Си, особен- но, если ваша программа должна работать быстро, например, если вы пишете поис- ковую систему. Последняя тема в этой книге не рассматривается, поскольку требует довольно большого опыта низкоуровневого программирования на языке Си, а потому не вписывается в концепцию данной книги.
Четвертая часть может быть использована не только как своеобразный учебник, но также и в справочных целях — ведь в ней рассказано о большинстве стандартных функций, встроенных в PHP. Я группировал функции в соответствии с их назначени- ем, а не в алфавитном порядке, как это иногда бывает принято в технической литера- туре. Что ж, думаю, книга от этого только выиграла. Содержание части во многих местах дублирует документацию, сопровождающую PHP, но это ни в коей мере не означает, что она является лишь ее грубым переводом. Наоборот, я пытался взглянуть на "кухню" Web-программирования, так сказать, свежим взглядом, еще помня свои собственные ошибки и изыскания. Конечно, все функции PHP описать невозможно (потому что они добавляются и совершенствуются от версии к версии), да этого и не требуется, но львиная доля предоставляемых PHP возможностей все же будет нами рассмотрена.
Пятая часть книги целиком посвящена различным приемам программирования на PHP. Она насыщена всевозможными примерами программ и библиотек, облегчаю- щими работу программиста. Если первые три части, да и четвертая в известной мере, касались Web-программирования в основном теоретически, то здесь как раз основной упор сделан на практику. Как известно, грамотное программирование и написание повторно используемого кода может сильно облегчить жизнь, поэтому один из пер- вых приемов, рассматриваемых в пятой части — это написание системы управления модулями и библиотеками. Кроме того, вряд ли вы станете разрабатывать сайты в одиночку — скорее всего, в вашей команде будет дизайнер, HTML-верстальщик и представители других профессий. Поэтому на передний план выходит техника отде- ления кода от шаблона страницы сценария, чему также уделяется довольно много внимания. Дополнительно рассматриваются: загрузка (upload) файлов, реализация почтовых шаблонов, техника разделенных вычислений и т. д.
В приложениях приведена дополнительная информация, касающаяся Web- программирования. В Приложении 1 содержится полный перевод на русский язык комментариев в файле конфигурации Apache httpd.conf. Она может очень приго- диться вам, если вы собираетесь тесно взаимодействовать с этим сервером в своих сценариях. Приложение 2 включает аналогичный перевод комментариев, сопровож- дающих файл конфигурации интерпретатора PHP. Оно призвано помочь лучше сис- тематизировать сведения о конфигурировании PHP, полученные из других глав книги (и увидеть реальный пример использования многих описанных директив).