This is a continuation of my earlier blog on Leveraging PHP Frameworks for your SMB Projects. In it, I argued for the use of a framework for developing with PHP, and listed some of the advantages that an appropriate framework can bring to the development project.
As the saying goes, the devil is often found in the details. For many small and medium-sized businesses, the challenge is trying to determine the correct framework to use for their PHP projects. In PHP Team Development, author Samisa Abeysinghe makes some suggestions on the important areas to consider.
I highlight some of these key points below.
Having worked on a fairly large PHP programming project where a mix of two languages - English and Chinese - needs to be supported, I can attest to the fact that support for internationalization should be a factor considered right at the beginning, and not midway through development. If internationalization is required, be sure to check that the chosen framework has support for multiple languages. Alternatively, you will probably want to use a third-party library for the task.
A recommended way of support multiple languages would be to use a single property file for development, and then translate that to other languages as necessary. Abeysinghe recommends that working with one language first will save developers from having to "worry about maintaining multiple language mapping property files."
Practically all PHP frameworks will come with an open source license. However, the precise terms of the license need to be scrutinized to ensure that it fits in with the business objective of the company. Another factor to consider: the intellectual property implications of the framework, namely, "who developed it?"
Indeed, it is probably prudent to spend some effort when it comes to large development projects in order to verify copyright claims and ensure there aren't inadvertent or hidden IP violations in the code base of the framework.
In the book, Abeysinghe wrote that:
"Determining whether the license suits the software project at hand is a very subjective matter. More often than not, it is not the software project team, but the company lawyers who need to decide on the licensing matters."
Not paying sufficient attention to the licensing of the framework can result in being forced to restart development efforts later. So don't assume. Take pains to determine that a framework is suitable from a licensing perspective right at the onset!
Availability of Support
There are many open source PHP frameworks around, and the community support for the more popular ones tends to be very strong. However, development teams on tight timeframes might prefer to avoid the uncertainty of community forums in favor of paid support. This can materialize in the form of using a commercial, non-open source framework, or first ensuring the availability of experts of a particular framework.
For open source projects, it usually helps if the company or individual behind the framework offers some form of paid support.
While I would not advocate IT managers or CIOs micromanage a development project, it does make sense to take a more than cursory notice of the framework used for your PHP development projects. Due to limited space, I have only really touched on a few of the considerations in selecting a PHP framework. However, I hope that this short series equips you with knowledge on some of the pertinent areas to examine.
The latter portion of Chapter 3 of the PHP Team Development book lists 10 of the top PHP frameworks today, with a mention of the licensing used and a synopsis of the key considerations. I'm checking with Packt Publishing on whether it is possible to reproduce that snippet of the book in our Knowledge Network, and we'll post a link to it if the publisher accedes to our request.
In the meantime, do post any questions related to the use of PHP frameworks here. If you have any questions for author Samisa Abeysinghe, I'm available to facilitate a conversation as well.