OK, I just tricked you! This article is not going to teach you how to build a content management system with PHP from scratch.
Why not?
… Because building a content management system from scratch is (probably) a really dumb idea!! Now that I come to think about it, building any of the most commonly used software from scratch, is kinda stupid.
Things you should not build from scratch:
- Content Management Systems
- Blog Software
- Forums
- Directory scripts
The Top 3 Rules in Programming
The real estate business has a famous set of rules – the top three rules in fact:
- Location
- Location
- Location
The idea behind this rule, is to stress how important location is to a piece of property. In software development (programming), we have a similar set of key rules:
- Reuse
- Reuse
- Reuse
Yes, if you are a smart and experienced programmer, you know that the first thing you do when someone approaches you with a project, is to fire up Google to check if someone else has already built something that is at least similar to what you want to create.
… Simply stated, it is crazy to reinvent the wheel and build something that has already been created. Especially within the context of building a program to help support some business. What I mean by that is, that unless you are building a piece of software as the core of a business, where the software itself is the business, then you should not be starting from scratch. It’s just too expensive.
Lucky for us PHP nerds, there is a huge collection of open source, free and nearly free software out there created in PHP. Things like the above mentioned blogs, cms’, forums etc … have been created many times over by teams of adventurous nerds. Given that fact, it makes even less sense to build these things yourself, just because you need one for your website.
Don’t ask me how to build a CMS!
No, instead of trying to build these (typically) big and complicated programs from scratch, you should download a proven mature product where they have already worked out many of the bugs and spent the hundreds of hours refining them.
Suggestions:
A good blog software: http://wordpress.org/
Forums:
http://www.phpbb.com/
http://fluxbb.org/
http://punbb.informer.com/
http://www.vbulletin.com/
http://www.invisionpower.com/community/board/features.html
CMS
http://drupal.org/
http://expressionengine.com/
http://www.cmsmadesimple.org/
Believe me, there are many more out there.
Thanks for reading,
Stefan Mischook
www.killerphp.com
www.killersites.com