|All reviews||PHP 5 CMS Framework Development||Latest reviews||Best sellers ranking|
PHP 5 CMS Framework Development
June 6, 2008
Week: Not ranked All time: 68
Alexandre Altair de Melo
alexandremelo.netWhen you start thinking about building a system for the Web, you face challenges that generally you do not deal with other types of environments, such as the desktop.
Often developers have to think about several aspects of the architecture of a system for the Web, not necessarily restricted to requirements of the software. With this in mind the book "PHP 5 CMS – Framework Development" is very rewarding reading.
It was written by Martin Brampton. This book is a true guide to all the developers that are thinking about creating a framework for content management, or to improve the architecture of their own content management systems.
The book was used as a basis to describe the architecture of Martin's new project: the CMS Aliro, available in www.aliro.org. Please note that the book is not about this CMS, but the points that developers must think about when designing the architecture of a content management system.
However, after reading the book I came to the conclusion that the discussed points, can be applied to any system built with PHP, not only to CMS.
After this initial comment lets move on to an overview of the chapters.
In chapter 1 there is a description of the type of content management systems currently in wide use on the Web. This chapter is also a reflection of everything that such systems must have. Issues that include security, the user requirements, hosting, must be taken into account by the developer in order to build this kind of system. This chapter also gives an overview of Object Oriented Programming, PHP 5, MVC and XHTML.
Chapter 2 begins with a description of concepts that concern the management of users within a CMS framework. It also describes how to handle different types of users. This chapter discusses security issues involving the registration of users. So it covers basic questions such as how to avoid injecting SQL and how to create a database for the efficient management of user accounts.
In chapter 3 there is a continuation of the security issues and also the approach to load classes at run-time with the aid of the auto-load PHP 5 functionality.
Chapter 4 contains one of the topics that interest most PHP developers: session management. It introduces best practices on this subject.
While reading chapter 5 it becomes clear that this chapter deals with issues of the persistence layer. So this chapter may be see as a description of techniques to deal with the heart of database driven content management systems. This chapter presents several patterns to create objects that are stored in the database.
Chapter 6 deals with a subject that often takes some time to develop: building an user system based on roles. This chapter is very interesting as it issues a matter that can be applied to different types of systems.
As in previous chapters, chapter 7 presents an important point when designing the architecture of an an expansible framework. This chapter comments how to support extensions without changing the code of the framework core.
In chapter 8, it is presented a theme that has been discussed frequently, which is the issue of caching pages in PHP. Techniques used to improve performance by reusing cached data are extensively discussed.
In chapter 9 addresses the challenge of how to build efficient menus.
Chapter 10 deals with issues concerning multiple idioms. It discusses matters like using different character sets and how to provide a rich user experience in his own language.
Templates and how to create them are discussed in chapter 11. It is also commented the issue of the administration user interface, among other things.
In chapter 12 it is described other services that a CMS should have, such as uploading files, storage of settings, sending e-mail, among other topics.
Towards the end of the book, chapter 13 presents issues concerning error handling, error messages presented to users and related topics.
Finally, chapter 14 deals with questions about content. It describes matters such as RSS readers, blogs, magazines, among others.
At the end of the book there is an appendix about the process of creating an XML for configuration of extension packages.
After reading this book you come to the conclusion that it reaches its objectives because all the concepts and issues raised in the book are explained and demonstrated with practical examples.
It is recommended to all who want to make the most of their applications, designing a robust architecture, not only for CMS systems, but for any type of Web based system.
In addition, the chapters follow a clear order begins while explaining core issues including the the user interface and application installation.
It is great work from the book author and the publisher, as we now have another great title, not only about PHP, but also about designing an architecture for software not just for only for creating content management systems.
1. PHPClasses.org: Book Review: PHP 5 CMS Framework Development (2008-08-29 10:26)