O'Reilly

Book Review: PHP5 CMS Framework Development

By on  

In the interest in full disclosure, I was sent this book by a fellow DZone Zone Leader in hopes that I would review it. I’m reviewing this book, however, in the interest of my audience.

PHP5 CMS Framework Development

Written By
Martin Brampton

Published By
Packt Publishing

Publisher Summary:
This book takes you through the creation of a working architecture for a PHP 5-based content management system, stepping you through the design and major implementation issues. This book is for professional PHP developers who either already use an in-house developed CMS, or are developing one, and want a thorough explanation of solutions to the common issues faced in CMS development, or simply want a working framework on which to build. The reader needs to be confident working with PHP 5 object-oriented programming.

The Review

When I was first contacted about reviewing PHP5 CMS Framework Development, I was very excited. I'm at the point right now where simple to moderate content management system authoring isn't very challenging. Keep in mind that I'm responsible for knowing every piece of the development puzzle for every site I oversee so developing an enterprise-level PHP framework has not been a required skill. In order to grow as a PHP developer, however, this is a skill I would need to learn.

The book begins by outlining some of the important aspects of creating a good system, including PHP best practices, critical features, classes and objects, as well as patterns. The explanation of these ideas is essential to the lessons learned in subsequent chapters.

Chapter's 2 - 14 include:

  • Administrators, Users, and Guests - Discusses SQL injection prevention and ensuring that users will be given proper capabilities within the CMS.
  • Organizing Code - Outlines a suggested filesystem and theoretical structure to the code.
  • Sessions and Users - Solves issues with regard to user login and session storage.
  • Database and Data Objects - Demonstrates code to be used to interact with the database safely and efficiently.
  • Access Control - This chapter outlines methods of allowing permissions to specified areas of the system for each user.
  • Handling Extensions - Covers methods of adding functionality to the CMS while retaining its structure.
  • Caches and Handlers - To keep the system fast and efficient, strong caching methods must be available.
  • Menus - Discusses ideas for making site navigation easy.
  • Languages - One great addition to any site is multi-language capabilities. This chapter discusses solutions to accommodate for this task.
  • Presentation Services - A strong back-end is nothing without a good presentation layer. This chapter provides insight into creating and managing the presentation layer.
  • Other Services - Discusses the addition of widgets to the system.
  • Error Handling - The best way to maintain any system is to build in strong error handling. Learn how to incorporate strong error handling into your system.
  • Real Content - Oh, there's that too. Delve into the front-end side again.

Favorite Chapter

My favorite chapter in PHP5 CMS Framework Development was chapter chapter 3: Organizing Code. Organizing the code is a critical component of a good CMS and unfortunately structuring the CMS is always a challenge for me. Seeing as the rest of the system relies on the organization of code, if you don't take the time to build a good structure you could be up a creek a year later. I learned quite a bit from Brampton's explanation.

The Verdict

Martin Brampton has written an outstanding book about a difficult topic. PHP5 CMS Framework Development provides detailed, logical insight into creating your own advanced Content Management System. I would recommend this book to any moderate to advanced PHP5 developer looking to learn how to create an advanced CMS or a developer open to an alternate method of building an enterprise-level system.

O'Reilly Velocity Conference
Save 20% with discount code AFF20

Recent Features

  • Create a CSS Cube

    CSS cubes really showcase what CSS has become over the years, evolving from simple color and dimension directives to a language capable of creating deep, creative visuals.  Add animation and you've got something really neat.  Unfortunately each CSS cube tutorial I've read is a bit...

  • Send Text Messages with PHP

    Kids these days, I tell ya.  All they care about is the technology.  The video games.  The bottled water.  Oh, and the texting, always the texting.  Back in my day, all we had was...OK, I had all of these things too.  But I still don't get...

Incredible Demos

Discussion

  1. Interesting I might buy this book, was already looking for something similiar.

  2. I agree with Erhan. This might be the book I need. I have tried to create a CMS and it worked but it isn’t very strong. This will help to improve.

  3. Hector Perez

    Un libro excelente para los que desarrollan en PHP

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!

Recently on David Walsh Blog

  • Open Files from Command Line on OS X

    I'm as much of a fan of application UIs as anyone else but I'm finding myself working more and more from the command line lately.  Much of that is becoming obsessed with media manipulation but I'm forcing myself to use less UIs so that I...

  • Get Stock Quotes From Command Line

    When I conned my way into my first professional programming gig, I didn't really think much about money -- just that I was getting my foot in the door.  But as my career has gone on, I've been more aware of money, investing, and retirement.  I've recently...

  • Geolocation API

    One interesting aspect of web development is geolocation; where is your user viewing your website from? You can base your language locale on that data or show certain products in your store based on the user's location. Let's examine how you can...

  • Create an Image Preview from a Video

    Visuals are everything when it comes to media.  When I'm trying to decide whether to watch a video on Netflix, it would be awesome to see a trailer of some kind, but alas that isn't available.  When I'm looking to download a video on my computer,...

  • New:  Webdesigner News!

    A new and exciting website has recently been launched for web designers and developers. You likely spend hours every morning browsing through hundreds of posts on your RSS feeds, hoping to stumble across relevant stories. Webdesigner News was built to provide web designers and developers with...