Описание


Когда меня впервые посетила идея написать эту книгу, меня не покидало чувство, что я начал плыть против течения. Дело в том, что довольно много реализаций шаблонов проектирования в PHP напоминали популярный обходной маневр в связи с ограничениями, наложенными языком программирования. Хотя сегодня уже достаточно трудно поспевать за всеми теми нововведениями в области объектно-ориентированного программирования, проектирования и методик ведения проектов, которые появились в PHP.
Если перед вами поставлена какая-либо задача, согласитесь, вы получите массу удовольствия, решив ее. Особенно если под руками есть средства, с помощью которых можно свести на нет все риски и получить выгоду от благоприятных возможностей.
PHP продолжает ставить галочки в списке требований, которые предъявляют разработчики к современному языку программирования. Со времени опубликования второго издания этой книги в PHP появились пространства имен, позднее статическое связывание (late static binding), анонимные функции и механизм замыканий (closures). Если эти понятия ни о чем вам не говорят, не переживайте, все это будет описано на страницах настоящей книги. PHP— это непрерывно совершенствующийся язык программирования, который постоянно подстраивается под нужны пользователей.
Для разработчиков все это ставит ряд интересных проблем. Главная из них — противоречие между стабильным исходным кодом и желанием воспользоваться всеми теми новыми нововведениями, которые присутствуют в каждом выпуске продукта. Имея хороший набор тестов (лучше всего, если они запускаются автоматически!), средств для совместной работы и легко устанавливаемую среду разработки, вы сможете улучшить компоновку своего кода, задействовать новые возможности и всегда быть уверенным в том, что все работает как и прежде.
И здесь вам на помощь придет эта книга (я на это очень рассчитываю!). Я хотел объяснить, насколько захватывающ процесс объектно-ориентированного программирования и проектирования. В то же самое время я хотел описать средства и методики, которые спасут вас от бесчисленных ошибок и скрытых изъянов, непременно возникающих при внесении изменений в код.
Кроме новых средств языка, в этом издании будет описана система тестирования веб-приложений Selenium и самое лучшее из средств — сервер непрерывной интеграции (Continuous integration server), на котором запускаются тесты, создаются ваши проекты и добавляются в них средства диагностики.