PHP: объекты, шаблоны и методики программирования, 5-е издание
Настоящее, пятое издание этой популярной книги было полностью обновлено по версии 7 языка PHP и включает описание диспетчера зависимостей Composer, заменившего собой диспетчер пакетов PEAR, а также новый материал, посвященный инструментальному средству Vagrant и рекомендациям стандартов по программированию на PHP. В этой книге закладывается прочное основание для применения объектов в коде PHP и реализации основных принципов проектирования программного обеспечения, а также описываются инструментальные средства и нормы практики разработки, тестирования и развертывания надежного кода.
В первой части этой книги рассматриваются ключевые объектно-ориентированные средства языка PHP, включая объявление классов, наследование, рефлексию и многое другое. Вторая ее часть посвящена проектным шаблонам, где поясняются принципы, определяющие их эффективность, а также описывается целый ряд классических шаблонов для проектирования, корпоративных приложений и баз данных. В последней части рассматриваются инструментальные средства и нормы практики, помогающие превратить качественный код в удачный проект. В этой части показано, как организовать коллективный труд разработчиков и выпуски программных продуктов с помощью системы Git, управлять процессом построения проектов и зависимостями средствами Composer, а также исследуются стратегии автоматизированного тестирования и непрерывной интеграции. Совместно все эти три части посвящены основам объектно-ориентированного программирования, принципам проектирования и нормам передовой практики разработки, которые призваны помочь читателю в разработке изящных, надежных и устойчивых систем.
Об авторе:
Мэтт Зандстра почти двадцать лет проработал веб-программистом, консультантом по PHP и составителем технической документации. Он был старшим разработчиком в компании Yahoo! и работал в подразделениях компании в Лондоне и в Силиконовой долине. В настоящее время он зарабатывает себе на жизнь в качестве свободного консультанта и писателя.
До этой книги Мэтт написал книгу SAMS Teach Yourself PHP in 24 Hours, 3-е издание которой вышло под названием Освой самостоятельно PHP за 24 часа в русском переводе в ИД "Вильямс" в 2007 году, а также был одним из авторов книги DHTML Unleashed (издательство SAMS Publishing, 1997 г.). Он писал также статьи для Linux Magazine, Zend.com, IBM DeveloperWorks и php|architect Magazine.
Мэтт изучает также литературу и пишет фантастические рассказы. Он получил степень магистра в области писательского мастерства в Университетах Манчестера и Восточной Англии. Мэтт постоянно проживает в Ливерпуле (Великобритания) с женой Луизой и двумя детьми, Холли и Джейком и часто разъезжает по разным уголкам Великобритании, изучая литературу и ведя самостоятельную трудовую деятельность.
Об авторе 15
Введение 19
Часть I. Введение 21
Глава 1. Проектирование и сопровождение приложений на PHP 23
Часть II. Объекты 35
Глава 2. PHP и объекты 37
Глава 3. Основные положения об объектах 45
Глава 4. Расширенные средства 85
Глава 5. Средства для работы с объектами 151
Глава 6. Объекты и проектирование 193
Часть III. Шаблоны 221
Глава 7. Назначение и применение проектных шаблонов 223
Глава 8. Некоторые принципы действия шаблонов 235
Глава 9. Формирование объектов 253
Глава 10. Шаблоны для программирования гибких объектов 291
Глава 11. Выполнение задач и представление результатов 319
Глава 12. Шаблоны корпоративных приложений 369
Глава 13. Шаблоны баз данных 433
Часть IV. Практика 489
Глава 14. Нормы надлежащей и порочной практики 491
Глава 15. Стандарты PHP 503
Глава 16. Создание и использование компонентов PHP средствами Composer 523
Глава 17. Контроль версий средствами Git 537
Глава 18. Тестирование средствами PHPUnit 569
Глава 19. Автоматическое построение средствами Phing 607
Глава 20. Виртуальная машина Vagrant 635
Глава 21. Непрерывная интеграция 649
Часть V. Заключение 679
Глава 22. Объекты, шаблоны и практика 681
Часть VI. Приложения 695
Приложение А. Дополнительные источники информации 697
Приложение Б. Простой синтаксический анализатор 703
Предметный указатель 729