В сценарном языке РНР воплотились совместные усилия разработчиков со всего
мира, в результате чего был создан исключительно богатый и мощный язык web-программирования.
В шестнадцати главах этого диска рассматриваются многие аспекты, обусловившие
популярность языка. Книга начинается с подробного описания общих концепций и
синтаксических конструкций языка, после чего читатель знакомится с аспектами,
относящимися непосредственно к web-программированию, - такими, как динамическое
построение страниц, создание ссылок и взаимодействие с базами данных. Затем
мы рассмотрим некоторые нетривиальные вопросы применения РНР в web-программировании,
включая XML, JavaScript, СОМ и безопасность.
Книга разделена на три части. В первую
часть <Основы РНР> входят главы с 1 по 8.
В главе 1 <Знакомство с РНР> приводятся
общие сведения о языке РНР, его истории и
ключевых возможностях. В ней описан процесс
установки и настройки РНР и Apache. Глава
завершается обзором базовых
синтаксических элементов РНР, необходимых
для написания базового сценария.
В главе 2 <Переменные и типы данных>
описаны различные типы данных,
поддерживаемые РНР, правила выбора имен
переменных и особенности хранения
информации.
Глава 3 <Выражения, операторы и
управляющие конструкции> дополняет
материал главы 2. Из нее вы узнаете, как
выполняются операции со значениями
переменных. В этой главе также представлены
основные синтаксические структуры и
средства для создания больших и сложных
сценариев.
В главе 4 <Функции> описываются некоторые
аспекты построения модульного кода РНР,
подходящего для многократного
использования.
Глава 5 <Массивы> посвящена самой
распространенной структуре данных -
массивам. В ней приведены общие сведения и
примеры создания одномерных и многомерных
массивов, как индексируемых, так и
ассоциативных.
В главе 6 <Объектно-ориентированные
возможности РНР> особо выделены аспекты
РНР, относящиеся к объектно-ориентированному
программированию. Хотя РНР и не является
объектно-ориентированным языком, поддержка
некоторых базовых концепций РНР заметно
упрощает эффективное программирование и
сопровождение кода.
Глава 7 <Файловый ввод/вывод и файловая
система> содержит сведения об одной из
самых выдающихся возможностей РНР -
обработке файлов данных. Кроме того, в ней
приведена информация о выполнении
средствами РНР операций с каталогами на
сервере.
В главе 8 <Строки и регулярные выражения>
операции со строковыми данными
рассматриваются в контексте стандартных
функций РНР и регулярных выражений.
Читатель знакомится с двумя
разновидностями синтаксиса регулярных
выражений - POSIX-совместимыми и Peri-совместимыми
выражениями.
Вторая часть <РНР и Web> построена на
фундаменте материала первых восьми глав. В
нее входят главы с 9 по 13.
Глава 9 <РНР и динамическое создание
страниц> знакомит читателя с основными
концепциями динамического построения web-сайтов
на языке РНР. В этой главе рассматриваются
концепции динамического содержания,
построения ссылок и простейшие схемы
использования шаблонов.
В главе 10 <Формы> рассматриваются
средства РНР для работы с формами HTML при
сборе, отображении и обработке
пользовательского ввода.
Глава 11 <Базы данных> посвящена обширной
поддержке операций с базами данных.
Основное внимание уделяется СУБД MySQL, на
примере которой показано, как РНР
используется для организации эффективного
интерфейса между базой данных и Web.
В главе 12 <Шаблоны> описана нетривиальная
схема построения страниц по шаблонам.
Глава 13
показывает, как в РНР организуются
сохранение персональных настроек и сбор
данных о посетителях сайта.
В третьей части <РНР для профессионалов>
представлены более сложные стороны РНР. Эта
часть включает главы с 14 по 16.
Глава 14 <РНР и XML> знакомит читателя с XML и
показывает, как использовать РНР для
анализа и преобразования документов XML.
Глава 15 показывает, как при
помощи JavaScript сделать интерфейс web-программ
более удобным и интерактивным. Кроме того, в
этой главе рассматривается возможность
взаимодействия с СОМ-объектами Windows.
В главе 16 <Безопасность> описаны
некоторые аспекты безопасности в Web и их
реализация в РНР. В этой главе
рассматриваются проблемы конфигурации РНР,
защищенное программирование, шифрование
данных, проблемы электронной коммерции и
аутентификация пользователей.