PHP Frameworks and WCMS Systems

In this ever changing world, it seems as though every year (or perhaps more frequently), someone is creating a new PHP Framework or CMS

If your a developer like me, every Job you see advertised seems to require that your an expert at using one Framework or the other, and more often than not, to be highly skilled with a multitude of them.

How do you keep up, and how do you find the opportunity to use them all and become profficient at using them all?  The answer is never! Even if you spent a month working with each one to familiarise yourself with its intricasies and methods, when you are finished, you would most likely have to start over because they have all released a newer version, or, because a new version of PHP has introduced some major changes so that everything that worked before now throws an endless array of error messages.

This is of course not really the case, but at times it seems that way., and if you add in the ever increasing array of WCMS's and JavaScript frameworks it surely may be, as they all have their own set of 'required knowledge'.

As a matter of reference, I will list here all of the PHP based WCMS's and PHP Frameworks that I am aware of, and as a side note I will indicate an approximation of the amount of time I have spent coding with each one.

WCMS: (Web Content Management Systems)

  • Concrete(5)            - about     1,000 (ish) lines of code
  • Contao                   - ZERO
  • Drupal                    - around 20,000 lines of code
  • E107                      - ZERO
  • GetSimple              - ZERO
  • Joomla                    - easily well over 100,000 lines of code - since 2008
  • Kajona                    - ZERO
  • Made Simple CMS  - ZERO
  • Magento                 - around   5,000 lines of code
  • Moodle                   - around   7,000 lines of code (actually an LMS)
  • Opencart                - around 12,000 lines of code
  • PHPBulletin            - around   1,000 lines of code
  • Pligg                       - ZERO
  • SilverStripe             - ZERO
  • SNews                    - ZERO
  • Spip                        - ZERO
  • Symfony                 - (They now have a OOB CMS in version 2.7)
  • TextPattern             - ZERO
  • Tiki Wiki CMS         - ZERO (this one is on my ToDo list)
  • Typo3                     - ZERO
  • WolfCMS                - ZERO
  • WordPress             - around 30,000 lines of code

As you can see, trying to become as 'expert' in each of these would be a monumental task. And to be brutally honest, until I complied this list, I had never even heard of 11 out of the 13 with with a ZERO reference before, and I have been developing websites professionaly since 2008 and using PHP since 2000.

To further complicate things, WCMS's are also available in these programming languages:

  • ASP.Net
  • Java
  • Perl
  • Python
  • Ruby (on Rails)

PHP Frameworks or RAD Environments: (Rapid Application Development)

  • Akelos                     - ZERO
  • Ash.MVC                 - ZERO
  • CakePHP                - around 10,000 lines of code (very early on)
  • CodeIgniter             - around   5,000 lines of code
  • DIY                          - ZERO
  • EZ Components      - ZERO
  • FuseBox                  - ZERO
  • Laravel                    - around  5,000 lines of code and counting
  • PHP on Trax            - ZERO
  • PHPDevShell           - ZERO
  • PHPOpenBiz            - ZERO
  • Prado                      - ZERO (I thought this was a 4WD?)
  • QPHP                      - ZERO
  • Seagull                    - ZERO (always hungry)
  • Symfony                  - around 35,000 lines of code
  • WACT                      - ZERO (Australian capitol in WA?)
  • WASP                      - ZERO
  • Yii                            - ZERO (Must be a Yahoo thing)
  • Zend                        - around 10,000 lines of code
  • ZooP                       - ZERO

Seeing a pattern here? As before, 13 of the 15 with ZERO are new news to me.

So, remember what i said about trying to be an 'expert' with all of the above, just to appease a potential employer? You'd have to be nuts, have absolutely no life, never had a girldriend and especially, never had or have a Wife! (perhaps 'had' being the appropriate word)

So what level of experience defines certain levels of proficiency, and how many lines of code must you have written with each Framework or CMS before your skills are recognisable? I guess that would be open for debate...

In case your wondering, I'll leave JavaScript and JS Frameworks for another post, and lets not forget, there was a time before PHP Frameworks and CMS's that we used to code in straight PHP. Myself, I'd have to be looking at well over 50,000 lines of code there alone.