PHP-5. Наиболее полное руководство.

Редкий случай, когда название точно отражает содержание. Это действитетельно "наиболее полное руководство"!


Дмитрий Котеров, Алексей Костарев. PHP-5. Наиболее полное руководство. 2-е издание.

Дмитрий Котеров, Алексей Костарев. PHP-5. Наиболее полное руководство. 2-е издание.
Сделано в kocby.ru

Рассматриваются основы функционирования Web-серверов, сборка исполняемого модуля РНР в ОС UNIX, инструментарий Web-разработчика (в том числе утилиты отладки сценариев), синтаксис и стандартные функции языка. Приведено описание функций РНР для работы с массивами, файлами, СУБД MySQL, регулярными выражениями формата PCRE, графическими примитивами, почтой, сессиями и т. д. Особое внимание уделено новым возможностям языка по работе с ХМL-документами, объектноориентированному программированию, а также подходам к отделению РНР-кода от HTML-шаблонов сайта. Во втором издании добавлены главы про технологии AJAX и DbSimple, исправлены замеченные опечатки. Для Web-программистов.
© Перепечатка разрешается с установкой ссылки на ресурс http://kocby.ru.


Дмитрий Котеров, Алексей Костарев. PHP-5. Наиболее полное руководство в подлиннике. 2-е издание.
Дмитрий Котеров, Алексей Костарев.
PHP-5.
Наиболее полное руководство в подлиннике.
2-е издание.


• Основы Wеb-программирования на РНР
• Работа с ХМL-документами
• Объектно-ориентированное программирование
• Интерактивная отладка Wеb-сценариев
• Код и шаблон страницы, шаблонизатор
• AJAX и DbSimple

В презентации книги на данной страничке вы сможете прочитать оглавление, первые странички этого масштабного труда, а также несколько случайных страниц. Это позволит вам получить полное представление о данной работе.

Ссылки для приобретения книги в настоящем бумажном виде даны ниже.

Здесь и далее. При нажатии на маленькие картинки со страницами книге в новом окне браузера будет отображаться страница в масштабе, доступном для полноценного просмотра.

Приятного знакомства с этой лучшей в мире (на мой взгляд) работой по PHP!

Дмитрий Котеров, Алексей Костарев. PHP-5. 2-е издание. Санкт-Петербург. БХВ-Петербург. 2010.
Предисловие

В последнее десятилетие благодаря бурному развитию Интернета в программировании выделяют отдельное направление - We6-программировпние, т. е. создание сценариев для Web. Поначалу оно не могло и сравниться по своей сложности с другими областями программистского ремесла, не "дотягиваясь" не только до системного, но даже и до прикладного уровня. В наши дни, однако, роль Web-программирования в структуре глобальной сети возрастает, соответственно увеличивается и средняя оценка сложности сценариев. Многие системы (например, поисковые) по объему кода приближаются к размеру исходных кодов серьезных прикладных программ. Доля же статических страниц в Web постоянно падает; на смену им приходят динамические страницы, сгенерированные автоматически тем или иным сценарием.

PHP-5. Дмитрий Котеров, Алексей Костарев. 2-е изд., перераб. и доп. СПб. БХВ-Петербург. 2010. 1104 с.; ил. (В подлиннике). ISBN 978-5-9775-0315-0.
Представляем, как эти слова тут же вызовут бурю протеста со стороны прикладных и системных программистов, лишь слегка знакомых с Web-программированием.

Оглавление. стр 1-27.
"Как, - заявят они, - неужели написание простейших программ на "бейсикоподобных" интерпретаторах вообще можно назвать серьезным программированием? Да с этим же справится любой начинающий изучать программирование студент, потому что эта область не вносит и не может внести каких-либо новшеств, не предлагает алгоритмов, и, кстати, в ней нет ничего творческого. Да и вообще, скука-то, наверное, какая..." Обычно с такими людьми можно спорить часами. Действительно, какую бы задачу им ни привели, они начинают утверждать, что решить ее очень просто, хотя на самом деле это в контексте Web, мягко говоря, оказывается не совсем так.

Предисловие.
Что ж, отчасти такие люди правы. Поначалу все мы так считали, пока не столкнулись вплотную с тем, что называется Web-программированием. Да, в большинстве своем все программы удивляют своей кажущейся простотой. Но везде есть "подводные камни", и Web-программирование особенно ярко это доказывает. Обычно на написание типичных сценариев уходят не месяцы и годы, а дни и недели. Но особо сложные сценарии могут потребовать и значительно большего времени на разработку. Наконец, на первый взгляд работа Web-программиста кажется на редкость скучной.

Но...

Все обстоит именно таким образом, если вы программируете, что называется, "для себя", и при этом не пытаетесь каким-либо образом автоматизировать и упростить данный процесс. Действительно, можно получать удовольствие от написания прикладных программ (особенно нетривиальных), даже если их никто, кроме автора и его ближайших знакомых, потом не увидит. Здесь привлекает сам процесс. Вот этим-то и отличается программирование в Web: нельзя писать сценарии, которые никто больше не увидит, это занятие действительно покажется скучным. Зато если вы создали интерактивный сайт с удобным и оригинальным интерфейсом, прекрасно работающий в Интернете, которым ежедневно пользуются сотни и тысячи постоянных посетителей, вот тут-то и начинает вам нравиться профессия Web­программиста.

Для кого написана эта книга
Для кого написана эта книга

Книга, которую вы держите в руках, является в некотором роде учебником по Web­программированию на РНР. Мы сделали попытку написать ее так, чтобы даже плохо подготовленный читатель, никогда не работавший в We6 и владеющий лишь основами программирования на одном из алгоритмических языков, смог получить большинство необходимых знаний и в минимальные сроки начать профессиональную работу в Web.

Заметьте еще раз: мы предполагаем, что вы уже знакомы с основными понятиями программирования и не будете (особенно сильно, по крайней мере) путаться в циклах, условных операторах, подпрограммах и т.д. Программирование как таковое вообще слабо связано с конкретным языком; научившись писать на нескольких (или даже на одном-единственном), вы в дaльнейшем легко освоите все остaльные.

Книга также будет полезна и уже успевшему поработать с РНР профессионалу, потому что она содержит массу подробностей, приемов и описаний "тонких мест" РНР, которые не найти даже в официальной документации. Пожалуй, наибольший интерес для уже опытного Web-программиста представляют последние три части книги (объектно-ориентированное программирование, технология XML, различные приемы работы с РНР). Сложность материала по мере продвижения к концу книги нарастает.

Сайт книги. Исправления во втором издании. Общая структура книги.
Сайт книги

Удивительное наблюдение: стоит только дать в книге адрес электронной почты авторов, как тут же на него начинают приходить самые разные письма от читателей. Предыдущая версия книги не являла в этом отношении исключения. Основную массу писем составляли лросьбы выслать исходные тексты листингов. По мере своих сил мы старались удовлетворять эти запросы, однако, конёчно, сейчас так продолжаться уже не может.

Именно по этой причине абсолютко все исходные коды приведенных листингов теперь доступны для загрузки с сайта книги (в частности, в виде одного большого архива). Для обеспечения резервирования сайт имеет несколько разных имен (если какое-то из них не будет работать, попробуйте другое):
http://book.PHP5.ru
http://PHP5.dklab.ru
http://PHP5.nevod.ru

На правах владельца домена kocby.ru позволю себе вмешаться в вашу научную беседу.
Я попробовал скачать "все исходные коды приведенных листингов" по указанным в книге урлам и получил следующие результаты.
book.PHP5.ru - плюнул ошибкой 403 - Forbidden - You don't have permission to access / on this server.
PHP5.dklab.ru - хоть и не сразу, а через клик, но отдал файл book_php5_src_2008-01-04.zip
PHP5.nevod.ru - браузер сказал, что "К сожалению, Internet Explorer не может найти страницу php5.nevod.ru".

Исходя из результатов выше решил я добавить возможность скачивания с сайта kocby.ru:
book_php5_src_2008-01-04.zip
(архив, вес около одного метра)

Помимо прочего, на сайте имеется ссылка на форум, в котором вы можете обсудить тот или иной аспект книги, сообщить о замеченной неточности или просто задать вопрос по РНР.

Исправления во втором издании

Вы держите в руках второе издание книги "РНР 5". По сравнению с предыдущим изданием в данной книге имеются следующие изменения.

Исправлено множество опечаток, найденных и опубликованных читателями на форуме книги (http://forum.dklab.ru/php/book/). Авторы книги выражают огромную благодарность читателям за проделанную работу!

Учтены некоторые пожелания читателей (например, книга обрела твердый переплет).

Переработана глава "Код и шаблон страницы", добавлена глава "динамическая загрузка данных (AJAX)", посвященная аспектам разработки проектов Web 2.0, а также глава "DbSimple: упрощенный интерфейс работы с СУБД", описывающая некоторые аспекты практического использования различных СУБД.

Сокращены до необходимого минимума главы "Установка РНР 5 в ОС Unix" и "Шаблонизатор" (как устаревшие).

Уважаемые читатели! Если вы хотите сделать следующее издание этой книги лучше, пожалуйста, публикуйте свои замечания на форуме книги по адресу
http://forum.dklab.ru/php/book/

Практика показала эффективность такого подхода.

Общая структура книги

Книга состоит из 7 частей и 48 глав. Непосредственное описание языка РНР начинается с части III

Это объясняется необходимостью прежде узнать кое-что о CGI (Common Gateway Interface, общий шлюзовой интерфейс) - часть I, а также выбрать подходящий инструментарий и Web-cepвep для программирования - часть II.

Подробно о каждой части книги. Часть I. В ней рассматриваются теоретические аспекты программирования в Web. Часть II. Установка и настройка средств разработки We6-npoграммиста.
В части IV разобраны наиболее полезные стандартные функции языка. Часть V посвящена новым объектно-ориентированным возможностям РНР 5, а часть VI­работе с XML, мощным средством, без которого сейчас обходится редкий сайт. Наконец, часть VII посвящена различным приемам программирования на РНР со множеством примеров.

Теперь чуть подробнее о каждой части книги.

Часть I

В ней рассматриваются теоретические аспекты программирования в Web, а также основы механизма, который позволяет программам работать в Сети. Если вы уже знакомы с этим материалом (например, занимались программированием на Perl или других языках), можете ее смело пропустить. Вкратце мы опишем, на чем базируется Web, что такое интерфейс CGI, как он работает на низком уровне, как используются возможности языка HTML при WеЬ-программировании, как происходит взаимодействие CGI и HTML и многое другое.

В принципе, вся теория по Wеb-программированию коротко изложена именно в этой части книги (и, как показывают отзывы читателей книги, посвященной предыдущей версии РНР, многие почерпнули фундаментальные сведения по Web-программированию именно из этой части).

Так как CGI является независимым от платформы интерфейсом, материaл не "привязан" к конкретному языку (хотя в примерах используется язык С как наиболее универсальное средство программирования). Если вы не знаете С, не стоит отчаиваться: немногочисленные примеры на этом языке не настолько сложны, чтобы в них можно было запутаться. К тому же, каждое действие подробно комментируется. Большинство описанных идей будет повторно затронуто в последующих главах, посвященных уже РНР.

Часть II

Часть II книги описывает установку и настройку средств разработки We6-npoграммиста, в том числе - серверное программное обеспечение Apache. Сервер Apache - один из самых популярных в мире, на нем построено около двух третей хостов Интернета (по крайней мере, на настоящий момент). Главное его достоинство - простое и в то же время универсальное конфигурирование, что позволяет создавать довольно сложные и большие серверы. Думаем, вряд ли в ближайшее время кто-либо будет серьезно использовать РНР под управлением какого-то другого сервера, нежели Apache. Основное внимание в части II уделено установке и использованию Apache для Windows, поскольку, как мы увидим дaлее, это очень сильно облегчает программирование и отладку сценариев. Не секрет, что подчас выбор неверного и неудобного инструментария только из-за того, что "им пользуются все", является серьезной помехой при программировании. Именно из-за этого многие Web-программисты "старого образца" не принимают РНР всерьез. Часть II призвана раз и навсегда решить эту проблему.

Кроме того, здесь же описывается непростой процесс самостоятельной сборки и настройки РНР версии 5 на Unix-хостингах, не поддерживающих напрямую данную версию языка. Вы получите начальные сведения об операционных системах семейства Unix и даже немного научитесь их администрировать.

Часть III. Язык РНР - удобный и гибкий язык для программирования в Web. Часть IV может быть использована не только как своеобразный учебник, но также и в справочных целях. Часть V посвящена объектно-ориентированному программированию (ООП) на РНР.
Наконец, в главе по установке РНР и MySQL затрагивается важнейший материал - установка и работа с интерактивным отладчиком РНРEd. Пошаговая отладка (трассировка) позволяет в разы сократить (и главное, упростить и сделать приятным) процесс обнаружения ошибок в программах, на который обычно уходит до 80% времени программиста.

Часть III

Язык РНР - удобный и гибкий язык для программирования в Web. Его основам посвящена часть III. С помощью РНР можно написать 99% программ, которые обычно требуются в Интернете. Для оставшегося 1% придется использовать С или Реrl (или другой универсальный язык). Впрочем, даже это необязательно: вы сильно облегчите себе жизнь, если интерфейсную оболочку будете разрабатывать на РНР, а ядро - на С, особенно если ваша программа должна работать быстро (например, если вы пишете поисковую систему). Последняя тема в этой книге не рассматривается, поскольку требует довольно большого опыта низкоуровневого программирования на языке С, а потому не вписывается в концепцию данной книги.

Часть IV

Часть IV может быть использована не только как своеобразный учебник, но также и в справочных целях - ведь в ней рассказано о большинстве стандартных функций, встроенных в РНР. Мы группировали функции в соответствии с их назначением, а не в алфавитном порядке, как это иногда бывает принято в технической литературе.

Что ж, думаем, книга от этого только выиграла. Содержание части во многих местах дублирует документацию, сопровождающую РНР, но это ни в коей мере не означает, что она является лишь ее грубым переводом (тем более, что такой перевод уже существует для многих глав официального руководства РНР). Наоборот, мы пытались взглянуть на "кухню" Web-программирования, так сказать, свежим взглядом, еще помня свои собственные ошибки и изыскания. Конечно, все функции РНР описать невозможно (потому что они добавляются и совершенствуются от версии к версии), да этого и не требуется, но львиная доля предоставляемых РНР возможностей все же будет нами рассмотрена.

Часть V

Часть V посвящена объектно-ориентированному программированию (ООП) на РНР. В РНР 5, в отличие от четвертой версии, добавилось столько новых возможностей, что иногда имеет смысл говорить о новом объектно-ориентированном языке, по удобству приближающемуся к Java. Мы постарались возможно полнее выделить все достоинства РНР 5 по сравнению с его предыдущей версией - особенно это касается способов сокрытия данных, механизма исключений и работы с отражениями. Кроме того, читатель, плохо знакомый с концепциями ООП, сможет изучить их на наглядных примерах.

Данная часть также может рассматриваться как вводная для следующих глав, посвященных XML и, в последней части, различным лриемам программирования на РНР.

Вообще, РНР 5 уже практически немыслим без объектно-ориентированного про­граммирования, которое является его основной "изюминкой".

Часть VI описывает расширения языка РНР 5, обеспечиваюшие поддержку как ХМL-стандарта, так и других средств, связанных с ним.
Часть VI

Современные ХМL-технологии проникли практически во все сферы программирования. Часть VI описывает расширения языка РНР 5, обеспечиваюшие поддержку как ХМL-стандарта, так и других средств, связанных с ним.

В РНР версии 5 код поддержки XML-стандартов был переписан практически с нуля. Это объясняется тем, что предыдущие реализации функций обработки XML­документов в З-й и 4-й версиях языка РНР не соответствовали общепринятым стандартам DOM1, DOM2, DOM3. Раньше программистам, работающим в данных стандартах на языках Java, JavaScript и др., при работе с языком РНР 4 приходилось изучать нестандартные функции, поддерживающие обработку ХМL-документов. Теперь же сценарии обработки XML-документов, налисанные на языке РНР 5, могут быть с легкостью перенесены на другие языки программирования, поддерживающие стандарт DOM.

И наоборот, программы с этих языков можно минимальными усилиями перевести в программы на языке РНР 5. Так происходит по очень простой причине: в РНР 5 работа с ХМL-документами теперь обеспечивается набором классов и методов (интерфейсов), определяемых набором общих и универсальных стандартов DOM.

Наряду с новым подходом к объектно-ориентированному программированию, поддержка стандартных интерфейсов обработки XML-документов является вторым существенным нововведением в пятой версии языка РНР.

В части VI рассматриваются классы, свойства и методы, обеспечивающие поддержку спецификаций DOM, XPath, XSLT (EXSLT) консорциума W3C (http://www.w3.org).

Для тех, кто не желает использовать стандартные методы обработки ХМL-документов, приведено описание расширений SimpleXML и ХМL (SАХ), позволяющее использовать при обработке ХМL-документов упрощенный интерфейс.

Кроме этого, рассматриваются расширения РНР 5, обеспечивающие работу различных ХМL-приложений: WDDX - протокол распределенного обмена данными фирмы Macromedia, и XMLRPC - протокол удаленного вызова процедур.

В ХМL-расширениях пятой версии языка РНР, благодаря поддержке кодировки Unicode, существенно улучшена поддержка различных национальных кодировок. В данной части большое внимание уделено проблемам, возникающим при работе с различными кодировками: KOI8-R, Windows-1251, IS08859-5, МАС-Cyrillic и др.

Приемы, описанные в части VI, позволят вам анализировать структуру XML-документов, создавать, проводить анализ и преобразование XML- и HTML-файлов (XHTML) как в рамках РНР, так и с использованием языка XSLT, обеспечивать распределенное выполнение приложений на основе протоколов WDDX и XMLRPC и многое другое.

Часть VII. Заключительная часть книги посвящена практическим приемам программирования на РНР. Она насыщена примерами программ и библиотек, которые облегчают работу программиста.
Часть VII

Заключительная часть книги посвящена практическим приемам программирования на РНР. Она насыщена примерами программ и библиотек, которые облегчают работу программиста. Если первые три части, да и четвертая в известной мере, касались Web-программирования в основном теоретически, то здесь как раз основной упор сделан на практику.

Вряд ли вы станете разрабатывать сайты в одиночку - скорее всего, в вашей команде будет дизайнер, HTML-верстальщик и представители других профессий. Поэтому на передний план выходит техника отделения кода от шаблона страницы сценария.

Этой технике уделяется гл. 46 части vII. В ней вы найдете описание и сравнение различных методик отделения кода сценария от дизайна страниц, а также краткое руководство по работе с популярной системой шаблонов Smarty.

В гл. 47 книги вы научитесь писать Web-приложения "в стиле Web 2.0", динамически загружающие данные с сервера без перезагрузки самой страницы. Такую технологию называют AJAX (Asynchronous JavaScript and XML, асинхронный JavaScript и XML), и за последние несколько лет она стала очень популярной в среде Web­разработчиков.

Наконец, заключительная глава книги описывает аспекты практической работы с наиболее популярными в Web-программировании СУБД (MySQL, PostgreSQL, InterBase/FireBird). В ней дается подробное описание библиотеки DbSimple, имеющей очень простой интерфейс, а также описываются некоторые приемы (использование placeholder-заполнителей, кэширование запросов и т. д.), применяемые при разработке крупных и высокопроизводительных Web-приложений.

Листинги

Как уже говорилось ранее, тексты всех листингов книги доступны для загрузки на официальном сайте книги. Их очень много - порядка 500! Чтобы вы не запутanись, какой файл какому листингу соответствует, применен следующий подход.

Определенной главе книги соответствует один и только один катanог в архиве с исходными кодами. Имя этого каталога (обычно это не очень длинный иденти­фикатор, состоящий из английских букв) записано сразу же под названием главы.

Одному листингу соответствует один и только один файл в архиве.

Названия всех листингов в книге выглядят однотипно: "Листинг M.N. Файл Х'. Здесь M.N - это номер главы и листинга, а Х- имя файла относительно текущего каталога главы.

Заглавие листинга приведено прямо в самом файле и оформлено в виде комментария в первой строке:

. . ---> - для HTML-кода;

##. . . - для РНР-программ.

Таким образом, мы убили сразу двух зайцев: во-первых, указали заголовок листинга в удобном месте, а во-вторых, позволили читателю сразу же узнать название листинга, открыв в текстовом редакторе соответствующий ему файл.

Как использовать файлы листингов. Предметный указатель. Как создавалась книга.
Теперь немного о том, как использовать файлы листингов. Большинство из них являются законченными (правда, простыми) сценариями на РНР, которые можно запустить на выполнение через тестовый Web-сервер. Напомним, что в части II книги много внимания уделено установке как раз такого сервера (для Windows, ведь отлаживать скрипты в этой ОС весьма удобно). Таким образом, для проведения экспериментов с листингами вам достаточно просто развернуть архив в подходящий каталог, доступный через Web-сервер. Немного забегая вперед, приведем примерные шаги. Не пугайтесь, если они покажутся вам непонятными в настоящий момент; позже, после прочтения части II, все встанет на свои места.

1. Предположим, что вы используете в качестве локального сайта адрес http://localhost и установили Web-cepвep Apache по рекомендациям из части II так, что этому адресу соответствует каталог /home/1ocalhost/www на диске.

2. Распакуйте архив с исходными кодами так, чтобы его каталоги-главы располагались непосредственно в /home/1ocalhost/www.

3. Если вы все сделали правильно, то по адресу http://localhost/id_главы/файл.рhр вы сможете наблюдать результат работы листинга файла файл.рhр из главы с идентификатором id главы.

Примечание. Напоминаем, что некоторым главам назначены собственные идентификаторы, указанные сразу после их названия и соответствующие имени каталога в архиве с исходными кодами. К примеру, гл. 2 "Работа с СУБД MySQL" имеет идентификатор mysql, а значит, ее листинги доступны по адресу http://localhost/mysql/.

Предметный указатель

Книга, которую вы держите в руках (или будете держать), содержит практически исчерпывающий указатель (индекс) по всем основным ключевым словам, встречающимся в тексте. В нем, помимо прочего, лриводятся ссылки на все рассмотренные функции и константы, директивы РНР и Apache, ключевые термины и понятия, встречающиеся в Web­программировании. Мы постарались сделать предметный указатель удобным дЛя ловседневного использования книги в качестве справочника.

Как создавалась книга

В этой книге, как и в любой другой (за исключением разве что старого энциклопедического словаря), возможно, есть ошибки и неточности - сразу приносим за них свои извинения. Ну, а для того, чтобы вы прямо сейчас смогли оценить примерное количество этих нетоцностей, расскажем вкратце, как проходил процесс написания книги.

В отличие от предыдущего издания ("Самоучитель РНР 4"), мы на этот раз решили максимanьно автоматизировать процесс авторского творчества. Для этого был использован мощный аппарат VBA, встроенного в текстовый редактор Microsoft Word.

Как создавалась книга.
Было замечено, что количество опечаток в листингах самоучителя в буквальном смысле не лезло ни в какие ворота. Это объясняется тем, что тексты листингов и файлы программ на диске существовали независимо. Тестированию подвергaлись лишь программы (да и то, не все), в то время как их "бумажные" версии порой оставались неисправленными.

Примечание. Впрочем, судя по приходящим по электронной почте отзывам, находились читатели, которые были даже благодарны за все эти опечатки: они побудили их больше пользоваться официальной документацией РНР, в результате чего они узнали много нового, расширили свой кругозор, а также приобрели полезные навыки работы с документацией.

В общем, разделение текстов листингов в книге и текстов программ на диске оказалось совершенно неприемлемым. К счастью, Word поддерживает вставки так называемых кодов полей в текст документа. Благодаря ним вместо подверженного ошибкам "ручного" копирования все тексты листингов вставлялись в книгу автоматически. Любое изменение исходных файлов вело к немедленному обновлению соответствующих листингов.

Примечание. Как мы вскоре увидим, операторы ограничения РНР-кода и коды полей Word имеют много общего. И те, и другие позволяют вставлять динамически изменяющиеся элементы: первые - в документ, а вторые - в HTML-страницы. Отчасти по этой причине мы и говорим в книге о кодах полей.

Итак, теперь опечатки в листингах практически исключаются: все приведенные в книге программы располагались на тестовом Web-cepвepe и подвергались тестированию лри своей разработке (или, по крайней мере, запуску - для проверки синтаксической корректности). Вы можете найти их в архиве с исходными кодами, доступными на сайте книги.

Номера листингов, таблиц и рисунков, ссылки на номера глав и листингов также формировались автоматически, при помощи соответствующих кодов полей Word. Это позволило серьезно упростить процесс редактирования книги, не заботясь более о "поехавших" ссылках.

Часть VI книги, посвященная XML, разрабатывалась по несколько другой схем. Она написана одним из авторов данной книги - А.Ф. Костаревым - в среде Unix (Linux) с использованием редактора OpenOffice. Данный редактор сохраняет файл в формате XML. Таким образом, автор имел возможность использовать интерпретатор РНР 5 для написания скриптов, производящих массовые корректировки редактируемого текста: изменение стилей, формирование НТМL-кода для просмотра листингов, рисунков, подключение исходных текстов листингов с формированием заго­.ювков, перенумерацией листингов, рисунков, удаление лишних пробелов, абзацев и рисунков перед сдачей в редакцию и т.п. Как видите, РНР 5 внес посильный вклад в написание данной части.

Воспользуемся известным сравнением: подобно тому, как гораздо удобнее использовать собранный на серийном заводе автомобиль, нежели кустарную паровую машину, удобнее и читать книгу, при написании которой авторы были избавлены от ненужной рутины. Мы надеемся, что этот принцип воочию продемонстрирует себя на практике к тому моменту, как вы перелистнете последнюю страницу данного издания.

Благодарности.
Благодарности

Редкая книга обходится без этого приятного раздела. Мы не станем, пожалуй, делать исключений и попробуем здесь перечислить всех, кто оказал то или иное влияние на ход налисания книги.

Замечание. К сожалению, приятность данного момента омрачается тем фактом, что в силу линейности повествования приходится какие-то имена указывать выше, а какие-то - ниже по тексту. Ведь порядок следования имен подчас не имеет ничего общего с числом "заслуг" того или иного человека. Кроме того, всегда существует риск кого-то забыть - непреднамеренно, конечно. Но уж пусть лучше будет так, чем совсем без благодарностей.

Хочется, прежде всего, лоблагодарить читателей первого издания книги "РНР 5", активно участвовавших в исправлении неточностей. Всего на форуме книги было опубликовано около 200 опечаток и исправлений! Мы надеемся, что благодаря этому книга стала значительно более точной, и ожидаем не меньшей активности от читателей для данного издания.

Отдельных слов благодарности заслуживают разработчики языка РНР 5, в сотрудничестве с которыми была написана данная книга. (Возможно, вы улыбнулись при прочтении этого предложения, однако под "сотрудничеством" мы здесь понимаем вовсе не само создание интерпретатора РНР 5! Речь идет о консультациях по электронной почте и двусторонней связи авторов книги с программистами.)

Особенно хотелось бы выделить разработчика модуля DOM Роба Ричардса (Rob Richards) за оперативность, с которой он исправлял замеченные недоработки, и внимание, уделяемое им проблемам поддержки национальных кодировок при работе с XML-документами. Кроме того, многие другие разработчики РНР (ндпример, Маркус Боергер (Marcus Boerger), Илья Альшанецкий (Ilia Alshanetsky), Дерик Ретанс (Derick Rethans) и др.) оперативно исправляли ошибки в интерпретаторе РНР, найденные авторами книги в процессе ее написания.

Хочется также поблагодарить коллектив форума http://forum.dklab.ru, некоторые участники которого напрямую влияли на ход "шлифовки" книги. Например, Юрий Насретдинов прочитал и прокомментировал начальные версии глав про регулярные выражения и MySQL, а также высказал множество ценных замечаний по улучшению последней (тут я вношу свой вклад в поиске отчепяткаф - в оригинале было "последний") главы книги, посвященной AJAX.

Антон Сущев и Йльдар Шаймор­данов помогали авторам в доработке предисловия, которое вы сейчас читаете. Наконец, многие участники форума в той или иной степени участвовали в обсуждениях насущных вопросов, ответы на которые вошли в книгу, а также занимались поддержкой проекта "джентльменский набор Web-разработчика", позволяющего быстро установить Apache, РНР, MySQL и т.д. для отладки сразу нескольких сайтов в Windows (см. часть II).

Наконец, нам хотелось бы поблагодарить сотрудника издательства "БХВ-Петербург" Евгения Рыбакова, который стойко выносил все мыслимые и немыслимые превышения сроков сдачи материала, а также терпеливо отвечал на наши письма и вопросы, возникавшие по мере написания книги.

Пример работы АJАХ-приложения.
Теперь почти случайно выбранная страница книги...

Речь идет о поисковике Гугла, который услужливо и автоматически предлагает пользователю варианты поисковых строк, в зависимости от введенных первых букв.

Видите, снизу отобразился список наиболее популярных слов, начинающихся с буквы "а"? Обратите внимание: список появляется практически мгновенно, несмотря на то, что при вводе буквы производится "невидимый" запрос на сервер. Страница также не перезагружается. Если теперь ввести следующую букву - "j", то получим скорректированный список (рис. 47.2).

Компоненты АJАХ-приложения. Любое приложение, построенное по технологии AJAX, состоит из двух взаимодействующих между собой частей: серверной и клиентской Серверная часть системы (назовем ее backeпd приложения) - это сценарий, который запускается на сервере в ответ на тот или иной запрос пользователя.

Самая последняя страничка или обратная стороная обложки...

Самая последняя страничка или обратная стороная обложки...
Авторы

Котеров Дмитрий Владимирович, системный программист, Web-разработчик с восьмилетним стажем работы в области Web-программирования, администрирования ОС Linux и Windows, ведущий разработчик хорошо известных в русскоязычном Интернете проектов Денвер (denwer.ru) и Orphus (orphus.ru). В повседневной практике использует языки РНР, JavaScript, Perl, С++, Java. Автор бестселлера «Самоучитель РНР 4» и более 50 статей, касающихся WеЬ-программирования.

Костарев Алексей Федорович, системный инженер, специалист с большим опытом работы в области Web-программирования на языках РНР, JavaScript. Написал код нескольких десятков динамических и игровых сайтов, участвовал в разработке ядра и приложений ОС Linux, популяризатор зтой операционной системы в России. Принимал непосредственное участие в разработке и отладке расширения DOM языка РНР 5. Автор хорошо известной книги «РНР в Wеb-дизайне».

Получи информацию из первых рук!

Авторы непосредственно участвовали в разработке пятой версии РНР, поэтому вы получите наиболее полные и достоверные сведения из первых рук. Руководство адресовано как профессиональным Web-разработчикам, желающим в кратчайшие сроки начать использование новых возможностей РНР 5, так и новичкам, владеющим лишь базовыми навыками программирования и не знакомым с РНР. Вы получите сведения о функционировании Web-серверов, конфигурировании сервера Apache, интерактивной отладке WеЬ-сценариев и сборке исполняемого модуля РНР в ОС Unix.

Изучите синтаксис и стандартные функции языка. Научитесь работать с формами, файлами, СУБД MySOL, регулярными выражениями, графикой, почтой, сессиями.

Освоите новые возможности, появившиеся в пятой версии языка: работу с ХМL-документами, объектно-ориентированное программирование, технику использования исключений. Благодаря компонентному подходу к созданию сценариев, описанному в книге, вы сможете создавать зффективные и легко расширяемые сайты.

С книгой тесно связан сайт, информация на котором постоянно обновляется.

Приобрести книгу можно в интернет магазинах:

OZON: http://www.ozon.ru/context/detail/id/4030251/

Мой Магазин: http://my-shop.ru/shop/books/384040.html

Попробуйте также поиск по запросам Котеров и/или Костарев в моем фирменном локальном поиске книг, который я назвал...

Книжная Лавка: http://kocby.ru/books/

Разумеется, здесь вы можете найти также любую другую книгу.

Спасибо за внимание и успешного путешествия в мир PHP!


Куда теперь идти?

Используйте ссылки выше или ниже...

  • Страничка контактов :: Вы можете написать в Клуб письмо по любой теме, включая ваше мнение о работе Дмитрия Котерова и Алексея Костарева "PHP-5. Наиболее полное руководство. 2-е издание.". Ваше письмо попадет напрямую менеджеру данного раздела и не будет прочитано посетителями сайта.

  • Денвер. Система создания и отладки сайтов. :: Денвер - удобная бесплатная система создания и отладки сайтов на локальной рабочей станции без необходимости подключения к Интернету. Программный продукт высокого качества, разработан высокопрофессиональной командой программистов под руководством кандидата наук Дмитрия Котерова. Дистрибутив ядра системы небольшого размера, легко скачивается, устанавливается, имеет простую и гибкую настройку. Отличный инструмент для программиста на PHP.

  • Курсы, литература HTML + PHP + MySQL :: РНР и MySQL представляют собой популярные текнологии с открытым исходным кодом, которые практически идеально подходят для быстрой и эффективной разработки Wеb-приложений, управляемых базами данных. РНР - это мощный язык написания сценариев, специально созданный для того, чтобы предоставить разработчикам все возможности по быстрому построению Web-приложений. MySQL является высокопроизводительной и надежной системой управления базами данных, которая, с одной стороны, хорошо интегрируется с РНР и, с другой стороны, ориентирована на реализацию динамических Internet-приложений.

  • Как сделать популярный сайт :: Подписка на рассылку. Список и характеристики каналов распространения. При всем многообразии вебсайтов в Интернете, основная задача для их менеджеров является одной и той же: как сделать свой ресурс популярным и как поддерживать эту популярность. В этой рассылке мы поговорим о всех известных способах промоушена: создание контента, оптимизация для поисковиков, обмен ссылками и др. Кроме того, мы поделимся с читателями некоторыми фирменными секретами.

  • Поиск :: Каждый день мы с вами пользуемся услугами любимых поисковых систем. Примеры локального поиска. Тематический поиск. Поиск книг, игр, фильмов, музыки, софта.

  • kocby.ru, главная страничка сайта.


Если Вы планируете зайти позднее...
Запомните эту страничку -

URL: http://kocby.ru/post/webmaster/php-mysql/kotkos/

Нажмите CTRL-D, чтобы запомнить эту страничку




Створки зеркала Клуба Одиноких Сердец. Пыльное зеркало Клуба Одиноких Сердец.

* На верх *

"Музыкальная Шкатулка". Поиск для меломанов. "Игротека". Поиск игр.
"Книжная Лавка". Поиск книг. "Софтодром". Поиск софта.
одинокое сердце
Правильная любовь
По правильным
правилам!
А роза упала...
eГармония

ВНИМАНИЕ! Спасибо за посещение Клуба Одиноких Сердец! Желаю удачи в любви и успеха в делах!
CopyRight(R), CopyLeft(L), CopyCat(C)
1974 - 2074 Клуб Одиноких Сердец
Без поддержки людей из будущего этот проект, конечно же, у меня бы не получился. Спасибо всем, кто делает будущее уже сегодня - USA2017.com!