What is this book about?
With the release of PHP 5 and the Zend Engine 2, PHP finally
graduates from it earliest days as a lightweight scripting syntax
to an powerful object oriented programming language that can hold
its own against the Java and .NET architectures that currently
dominate corporate software development. This book has a pragmatic
focus on how to use PHP in the larger scheme of enterprise-class
software development.
What does this book cover?
Unlike Java or .NET, there is little discussion of the
application of design patterns, component architectures, and
best-practices to the development of applications using PHP.
Software written in the absence of this sort of higher-order
architecture will never be able to match the robust frameworks that
Java and .NET ship with out of the box. This book addresses this
issue by covering the following material:
- Part 1 discusses the OO concepts that were initially
explored in Beginning PHP 5 and a demonstration of how to
implement them in PHP 5. This section also covers UML modeling and
provides a brief introduction to project management techniques that
are covered in more depth in Part 4.
- Parts 2 and 3 present objects and object hierarchies
that, when completed, comprise a robust toolkit that developers
will be able to reuse on future projects. These chapters are
designed to arm the professional PHP developer with the sort of
constructs that are available out of the box with platforms such as
Java and .NET — from simple utility classes like
Collection and Iterator, to more complex constructs like
Model/View/Controller architectures and state machines.
- Part 4 shows how to use the toolkit from Parts 2 and 3
to create real-world applications. We look at the development of a
robust contact management system that will leverage the componentry
and concepts already discussed and introduce project management and
software architecture concepts that enable developers to accurately
identify business requirements, design scalable, extensible
platforms, and handle change management effectively. It covers the
waterfall and spiral project management paradigms and include a
discussion on eXtreme Programming and other approaches to software
development.
- The Appendices include an extended discussion on the
effective use of CVS, introduce the Zend Studio IDE and related
tools, and discuss performance tuning and scalability.