I have always regarded PHP frameworks that adhered to MVC standards and templating engines with inherent mistrust… No, that’s putting it too mildly. In fact, I really really really hated the idea. Let’s face it, somebody coming up with a legitimate way / reason to turn a simple page update on a site into a process that involves editing 4-5 files within the framework must have been paid by the hour… And the rest of the world must have been sleeping to accept this as the norm. I know in my production environment, where a quick reaction and turnaround is often critical, any delay is going to be considered a disaster (never-you-mind financial repercussions).
A typical example of a good idea gone horribly horribly wrong is eZ Publish – an award winning open source CMS system based on PHP, with it’s own framework and templating language. What-the-hell? Having actually worked in a company that dealt exclusively in producing eZ Publish websites and becoming a ‘certified eZ Now professional’, I can’t say I have ever seen anything so clumsy and awkward to develop for.
Hi, Tony Wood / VisionWT – I miss you guys!
Anyway, got sidetracked there… Was looking through some potential contract jobs today when I saw an ad for a PHP / AJAX coder using CodeIgniter. Since it pays 450 pounds a day, I actually made an effort and looked it up–and it turned out to be a WINNAR (anybody remember Jeff K?). I just finished watching the two excellent getting started video tutorials and it left me almost wanting to download CodeIgniter.
What set it apart? The ability to actually use inline PHP inside the view controllers and not have to learn some crappy inferior templating language. It means, if in a hurry, I can quickly code a hack and get it to work without too much messing around in a number of files (well, perhaps 2). Once happy with it and with the pressure off, I can move the change and optimise it in a ‘semantic’ fashion to my heart’s contempt…
It deserves a mention and here is a plug of their own features:
- You want a framework with a small footprint.
- You need exceptional performance.
- You need broad compatibility with standard hosting accounts that run a variety of PHP versions and configurations.
- You want a framework that requires nearly zero configuration.
- You want a framework that does not require you to use the command line.
- You want a framework that does not require you to adhere to restrictive coding rules.
- You are not interested in large-scale monolithic libraries like PEAR.
- You do not want to be forced to learn a templating language (although a template parser is optionally available if you desire one).
- You eschew complexity, favoring simple solutions.
- You need clear, thorough documentation.
If even half that list is true, we still have a PHP framework that’s worth remembering – just on the off-chance you ever need one.