PHP CMS components

I am exploring how CMS's in PHP work. I am talking about full-powered, fully developed CMS's like Drupal, Wordpress, and Joomla. What are the main components and systems that are incorporated into something like this.

For example; I know you will need a page loader to handle all page requests (direct all requests to index.php using the .htaccess file), you will need a database class, a templating class, and a hook system to provide user extendability. What else am I missing?

(Also, is there a book that explains the working components of a full-fledged CMS?)


I'd second starting with something like Wordpress (not a real CMS I know) to get a feel for the sort of things you want your one to do. From there you could move up to Drupal or if you still feel the need to, look into building one in a framework (Codeigniter is a good one to start with).

Personally after a few years of rebuilding a CMS for each client I wish I'd got into Drupal quicker.

Google MVC in PHP. There are plenty of frameworks off which to build such a tool. Although, I beg to differ on Wordpress. Wordpress is a blogging system, not what I would call a "fully-fleged" CMS.

I found this book.

And I would strongly recommend this book on building a CMS with the Zend Framework.

Another solid CMS to consider is Concrete5.

Just a quick shoutout for ez Publish. It is a rock solid PHP based CMS, some of the best code i've seen.

Need Your Help

Binding to TabControl SelectedIndex

c# wpf mvvm

I have a tab control on a page; its items are bound back to my ViewModel, which also exposes an ActiveTabItemIndex which is bound (two way) to the SelectedIndex property in my xaml, and which imple...

Powershell dot notation vs select-object

powershell properties dot-notation

Can somebody explain to me what is the difference between dot notation and select-object in Powershell?

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.