| Contact Us - 1.888.231.2311
 
 

Thoughts on PHP Frameworks

As a senior software engineer I’ve used many programming languages, platforms  and frame works over the years. Of these I’ve found that the most logically laid out have been based on MVC. The separate of database, control, and view logic has many advantages and very few disadvantages when dealing with a team of designers, developers and database programmers.

With most things IT each year we get a glut of new frameworks or upgrades to existing ones, but thus far it still seems that PHP frameworks and the LAMP stack far outstrip the neighbors in performance affordability and programmer availability.

In recent times my team of developers and myself have been working with PHP frameworks such as Codeigniter, Symphony, Zend, and CakePHP. Additionally we have been doing a lot of development with Drupal 5 to 7. Since frameworks come and go, each year I am forced to take a look at what is out there and which one is the best to use going forward. The following are a few thoughts on that.

  1. In the strictest sense Drupal is not a framework but more of a CMS with a modular, extensible design. One of the biggest challenges with Drupal in my experience is that even though there is a large community, and modules that can be used as a base to develop your own, these modules tend to be broadly focused and introduce bloat into your software. As a result performance suffers on the Drupal framework out of the box unless a lot of caching is used. By the way caching causes its own problems especially if you have a highly updated site. Drupal as a tool to get up and running quickly though can  not be ignored as it is relatively easy to use an existing module as a base. Drupal also includes a decent form validation framework, and multi site functionality out of the box.
  2. CakePHP: Before I came across Codeigniter  my team and I did a bit of development on CakePHP. The idea of scaffolding seemed like a no-brainer in 2007, and it did allow my team to build software at a rapid pace. However there were some drawbacks. At that time there were no pre existing modules to be used in your own application, One simply had to build everything from scratch. That i itself wasn’t a problem though, but what did turn out to be a problem was that CakePHP organized all data in a set of Multi level Arrays. At first this was fine as only a few nested levels was necessary, but after database designs grew complex it was necessary to have many many levels of nesting to handle data. The result was poor performance and a buggy application. In step Codeigniter.
  3. Codeigniter has a better object relation model, and at the time it was used a scaffolding application that automatically generated all necessary model view and controller code to get an application started. With the expansion of the community there are new pre built module available to speed the development of any application.

I’ll continue my thoughts on the next blog entry

Posted in Uncategorized
  • Categories

  • Subscribe By Email

  • Free Resources

    101 Optimisation tips 14 Chapter Article
    Read our opinionated guide to Landing page Optimisation
  • Submit a Paper

    Submit a Paper

    Get your content listed in our directory!

    Our directory is the largest library of vendor-supplied technical content on the Web. It’s also the first place IT decision makers turn to when researching technology solutions. Our members are already finding your competitors’ papers here - shouldn’t they find yours, too? It's FREE so click here and submit your white paper, case study, data sheet, research report, or other document today!

  •  
     
    WP Like Button Plugin by Free WordPress Templates