Sunday 10 July 2011

PHP Frameworks used by web developers for different reasons:


PHP frameworks allow you to quickly develop web applications and websites. In an application setting, there are two types of people that will be working on the project. The first is the web designer, whose primary concern and interest is the look and feel of the website (the “presentation”). The second is the PHP developer/programmer that writes the PHP code to do the logic and database communications.
Using a framework, each team will be working separately at the same time to attain the project objective to complete the website. PHP frameworks that rely on MVC (Model-View-Controller) architecture makes it possible for the entire website application to be broken down into 3 modules. Each of these modules can, in turn, be easily updated, managed and improved upon by each team without necessarily interfering with other modules.
These 3 modules handle the following web development/designing tasks:
  1. Model - data handling (database communication) and management section of the web application.
  2. View – the view is the design layer of the website.
  3. Controller – the business logic and PHP code to accomplish the website functionality/features.
It is not necessary to use a PHP framework in every PHP website project; however, using a PHP framework does have some benefits, such as:
1.) Separating Logic from Presentation – makes the website source code easier to maintain, manage and update.
If you need to change the templates, you will only be dealing with the markup affecting the design and not the PHP code that controls the logic. This implies that the design is “clearly” isolated from the PHP code.
2.) Speeding up the development of web applications - a framework already provides all the necessary elements of a website. These include sessions, HTML sanitization/input validation, database interfaces, etc. It only requires a very simple configuration/installation (like a copy and paste operation) and your project can be completed within a reasonable time frame. Working without a framework can cost a lot of time in the development process, because everything must be created from scratch.
This article will examine 7 great and lightweight PHP frameworks released in open source.
Criteria of a Good PHP Framework
There are so many PHP frameworks that it can be hard to keep track of them all. Some are already very popular, while others are relatively new and unknown. Whatever the case, when selecting a good PHP framework, make sure it satisfies the following criteria:
  1. Speed/performance – this is likely the most important criteria. A super-fast framework can have huge impact on your website success because it translates into better user experiences and a faster website. Website performance in terms of speed is now a factor in the Google search engine rankings:http://googlewebmastercentral.blogspot.com/2010/04/using-site-speed-in-web-search-ranking.html
  2. Lightweight – the framework files are light and reasonable in size. In this case, Zend framework is too heavy to be classified as lightweight.
  3. Flexibility in hosting – is it OK to install the framework normally in a shared hosting environment or does it require a VPS to operate efficiently? Most lightweight PHP Frameworks operate very well with shared hosting although they have different speed performances which will be examined thoroughly in this article.
  4. Security - are inputs thouroughly sanitized?
  5. PHP supported versions – does it support the latest PHP versions?
  6. Database support – does it support MySQL or SQLite? These databases are available in most hosting companies using PHP.
  7. WYSIWYG Design support – “What you see is what you get” is important to ease the design of HTML templates.
  8. Documentation – does the framework already have complete documentation for its users?
Of the seven criteria, this article will examine only the speed and performance. The following are the seven PHP frameworks to be tested:
  1. Cakephp-1.3.7: http://cakephp.org/
  2. CodeIgniter_2.0.0: http://codeigniter.com/
  3. Symfony 2: http://www.symfony-project.org/
  4. yii-1.1.6.r2877: http://www.yiiframework.com/
  5. RainFramework 2.3: http://www.rainframework.com/
  6. Doophp 1.4.1: http://www.doophp.com/
  7. Kohana-3.1: http://kohanaframework.org/

No comments:

Post a Comment