- Learn about the design choices involved in the creation of advanced web oriented PHP systems
- Build an infrastructure for web applications that provides high functionality while avoiding pre-empting styling choices
- Implement solid mechanisms for common features such as menus, presentation services, user management, and more
- Written by a seasoned developer of CMS applications and other modern software
If you want an insight into the critical design issues and programming techniques required for a web oriented framework in PHP5, this book will be invaluable. Whether you want to build your own CMS style framework, want to understand how such frameworks are created, or simply want to review advanced PHP5 software development techniques, this book is for you.
As a former development team leader on the renowned Mambo open-source content management system, author Martin Brampton offers unique insight and practical guidance into the problem of building an architecture for a web oriented framework or content management system, using the latest versions of popular web scripting language PHP.
The scene-setting first chapter describes the evolution of PHP frameworks designed to support web sites by acting as content management systems. It reviews the critical and desirable features of such systems, followed by an overview of the technology and a review of the technical environment. Following chapters look at particular topics, with:
- A concise statement of the problem
- Discussion of the important design issues and problems faced
- Creation of the framework solution
At every point, there is an emphasis on effectiveness, efficiency and security - all vital attributes for sound web systems. By and large these are achieved through thoughtful design and careful implementation.
Early chapters look at the best ways to handle some fundamental issues such as the automatic loading of code modules and interfaces to database systems. Digging deeper into the problems that are driven by web requirements, following chapters go deeply into session handling, caches, and access control.
New for this edition is a chapter discussing the transformation of URLs to turn ugly query strings into readable strings that are believed to be more "search engine friendly" and are certainly more user friendly. This topic is then extended into a review of ways to handle "friendly" URLs without going through query strings, and how to build RESTful interfaces.
The final chapter discusses the key issues that affect a wide range of specific content handlers and explores a practical example in detail.
This book takes you through the creation of a working architecture for a PHP 5-based framework for web applications, stepping you through the design and major implementation issues, right through to explanations of working code examples
What you will learn from this book
- Effective coding techniques, illustrated through examples of key parts of sample solutions, along with detailed explanations.
- Object architectures to fully exploit PHP 5 in advanced systems
- A foundation for database processing to ease further development
- Technical functions such as handling user sessions and the efficient creation and use of caches
- How to support add-on applications to extend the main framework
- Flexible and efficient ways to deal with supporting different world languages
- Reviews and practical solutions for topics including XML handling, configuration management, editing, file system interfaces, mail, spam, timed operations and parameter objects
- Transforming query string URLs to be more "friendly" both for people and search engines
- Alternative ways to deal with presentation services, including discussion of MVC (model-view-controller)
The book includes extensive discussion of the design issues, and how to overcome them in the framework. Each chapter of the book focuses on a particular requirement of the framework. The book will not present the total code for a framework, which requires many thousands of lines. But it does show the parts that raise critical design or implementation issues. For these, detailed explanation is given, leaving the less problematic parts to the code download itself.
Who this book is written for
If you are a professional PHP developer who wants to know more about web oriented frameworks and content management systems, this book is for you. Whether you already use an in-house developed framework or are developing one, or if you are simply interested in the issues involved in this demanding area, you will find discussion ranging from design issues to detailed coding solutions in this book.
You are expected to have experience working with PHP 5 object-oriented programming. Examples in the book will run on any recent version of PHP 5, including 5.3.