Как читать этот диск
При написании этой книги я в первую очередь стремился к тому, чтобы читатель мог немедленно применить полученные знания на практике. Глупо было бы пересказывать то, что можно прочитать в электронной документации РНР. Вместо этого я ограничился практической информацией, представляющей интерес для абсолютного большинства web-программистов, и обошел стороной менее насущные концепции, чтобы читатели самостоятельно изучили их на досуге. Многие главы завершаются примерами проектов, относящихся к материалу данной главы. Эти примеры дают читателю представление о том, как тот или иной аспект РНР используется в реальном программировании.
В сценарном языке РНР воплотились совместные усилия разработчиков со всего мира, в результате чего был создан исключительно богатый и мощный язык 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 «Cookie и отслеживание сеанса» показывает, как в РНР организуются сохранение персональных настроек и сбор данных о посетителях сайта.
В третьей части «РНР для профессионалов» представлены более сложные стороны РНР. Эта часть включает главы с 14 по 16.
Глава 14 «РНР и XML» знакомит читателя с XML и показывает, как использовать РНР для анализа и преобразования документов XML.
Глава 15 «JavaScript и СОМ» показывает, как при помощи JavaScript сделать интерфейс web-программ более удобным и интерактивным. Кроме того, в этой главе рассматривается возможность взаимодействия с СОМ-объектами Windows.
В главе 16 «Безопасность» описаны некоторые аспекты безопасности в Web и их реализация в РНР. В этой главе рассматриваются проблемы конфигурации РНР, защищенное программирование, шифрование данных, проблемы электронной коммерции и аутентификация пользователей.