One of the most widely adopted languages that is part of the open-source LAMP stack is PHP. PHP is a server-side scripting language designed for web development but also used as a general-purpose programming language. PHP code is interpreted by a web server to generate dynamic web pages. PHP code can interact with external storage mechanisms like relational or No-SQL databases and caching servers. PHP code can of course perform computations and implement business logic.
It has been difficult to program complex websites in PHP without the use of development frameworks. Using a development framework ensures that complex tasks can be implemented faster with the use of generic components like modules and libraries, and using a structured development approach that relies on separation of concern such as the use of models, views, templating, controllers and services. A widely used framework also helps in ensuring support for security, scalability, redundancy and improves long-term maintenance. The underlying implementation of frameworks can be upgraded and improved without having to re-write large portions of a complex web application.
One of Artemis Consulting’s clients had been using a widely used PHP framework called Zend Framework (ZF) for many years. Zend Framework has now been replaced by Zend Framework 2 (ZF2) but adoption of ZF2 required re-training and completely different implementation approach and code organizational style from what ZF (or ZF1) needed. Many developers on the team resisted moving from ZF to ZF2 since implementation in ZF2 was a lot more complex than writing applications in ZF. ZF2 does offer a more solid framework in terms of flexibility and support for object-oriented programming. It was unclear if the added complexity and programming inefficiencies justified the move from ZF to ZF2 as the base framework used for all the apps at the client.
We decided that we would do a “bake-off” between the major PHP frameworks and determine the “best” and most flexible framework for our needs so that all new web applications at this client could use this framework for many years to come. The framework needed to be well-supported with a large community base and with an eye to agile development.
We will share our criteria for the “bake-off” in the next week. Until then, please reach out to Artemis Consulting at info @ artemisconsultinginc.com with any PHP questions.