Model View Controller (MVC)
is becoming the definitive architecture of website
development frameworks due to the stability,
extensibility and predictability it lends to
development. It is not just the primary separation of
database, business logic and interface components, but
includes a wide range of considerations for building
high-performing, scalable and secure
applications.
Deciding which MVC framework
best suits the project you are about to begin is one of
the biggest challenges you'll face as a developer. If
you are part of a team, this decision has probably
already been made for you; but in any event, you'll need
to know how (and why) the framework authors made it work
the way it does.
Pro PHP MVC looks at
the building blocks that make any good MVC framework,
and how they apply to PHP. It exposes all considerations
that many developers take for granted when using a
popular framework, and teaches you how to make the
framework your own.
Over the course of reading
this book, you will learn the theoretical implications
of the choices you would make when writing your own MVC
framework, and how to put the pieces together in a
cohesive package. We take a look at the highly modular
Zend Framework—how to use its collection
of loosely coupled classes to build a unified
system. We also look at CakePHP, learning from its
automated build system (Bakery) and highly intuitive
approach to rapid development. This book will lay bare
all the secret parts of MVC for you.
What you’ll learn
- The best way to structure your application files
- How to get from a URL to the right
controller/action
- Cleanly interact with data objects
- Efficient use of server resources in content
delivery
- Useful shared class libraries to speed up
development
- Unit testing to ensure maximum stability
Who this book is for
This book is for beginners
and advanced developers alike, requiring a basic
understanding of PHP5 language features and SQL. If you
want to improve your PHP skills, or share the wisdom of
popular PHP MVC frameworks, this book will be invaluable
to you.
Table of Contents
- Introduction
- Foundation
- Base
- Configuration
- Caching
- Registry
- Routing
- Templates
- Database
- Models
- Testing
- Structure
- Bootstrapping
- Registration + Login
- Settings
- Search
- Sharing
- Photos
- Extending
- Administration
- Testing
- CodeIgniter: Bootstrapping
- CodeIgniter: MVC
- CodeIgniter: Extending
- CodeIgniter: Testing
- Zend Framework: Bootstrapping
- Zend Framework: MVC
- Zend Framework: Extending
- Zend Framework: Testing
- CakePHP: Bootstrapping
- CakePHP: MVC
- CakePHP: Extending
- CakePHP: Testing
- Appendix A: Setting Up a Web Server