By Derek Leahy
PHP is one of the most popular scripting language used in web development today. This popularity is due to its flexibility, ease of use and open source nature. However these same features can result in poorly written, hard to maintain 'spaghetti' code. One way of overcoming these faults is to introduce a PHP framework into your web application development process.
Not only will your development process become more streamlined with these powerful tools, but, because most frameworks promote rapid application development by decreasing the amount of coding your developers have to do, you will find they also save you time (and therefore money!).
Model View Controller Paradigm
All the popular PHP frameworks use the Model View Controller (MVC) software pattern. The strength of this pattern lies in the way it separates the data that makes up the application (i.e. the Model layer) from both the implementation of the graphical user interface (the View layer) and the business logic (the Controller layer). This means that each of the layers can be worked on, independently of the others, by the relevant expert. Thus a graphical designer with little programming skills would be concerned solely with the View layer. A database expert would be concerned with the Model and the PHP developer would concentrate on the business logic code in the Controller layer (and the interfacing between the Controller and the other two
layers). This separation of focus helps to make the whole process a lot faster, smoother and much less complicated.
Concentrate on the Fun Stuff
There are so many aspects common to all web projects - the file structure, user data checking, forms, CRUD functionality; so many things that are really tedious to do time and time again on
different projects. A PHP framework will remove this tedium and speed up the development process by automatically creating a lot of this functionality for the developer.
The developer can then spend more time on the interesting, creative parts of the application rather than the base structure of each project. This is great for those situations where time is of the essence e.g. when there is a strict deadline to meet or when you've got lots of projects running in parallel.
Using a PHP framework encourages good coding practice.Developers will tend to use the same style and standard as the framework for their coding and documentation. Also, the file structure is set by the framework and will be common across all the projects created using that framework. All these mean your projects will be highly maintainable - it will be much easier for the code to be handed over to a new developer as it is less likely to contain any one developer's idiosyncratic coding habits.
Another great feature of PHP frameworks is their inclusion of unit and functional testing modules. These encourage developers to a) think about what the application is expected to do b) think about what tests can be created to prove the application does what it is expected to do c) think about what the application's boundary conditions are and then d) to create test suites for these proofs and conditions even before the code is fully written. These suites can then be run anytime the code is changed to ensure that the application still works as expected.
There are many different PHP frameworks out there each with its followers and detractors. The popular ones include CakePHP, Symfony, Zend, CodeIgniter, Kohana and Yii. You may also, of
course, create your own. Whichever route you decide to take, rest assured it will greatly improve your web development process, the quality of your web applications and the success of your web development business.
About the Author: Derek Leahy is a freelance business and technology writer. http://www.emnm.co.uk/services/web-application-development.html http://www.emnm.co.uk/services/web-design.html