Pimcore: Why still use Zend framework?

Paul October 20th 2015

A QUICK OVERVIEW OF THE ZF1 TOPIC...

ZEND FRAMEWORK 1 IS AN OLD DOG

The ZF1 is quite old, it's first release was back in 2006, and it revolutionised many parts of the web. Over the years it has been tried and tested all over the globe, and used for projects ranging from the very small to the enterprise level. Generally speaking, ZF1 has been well maintained, matured and even updated to support new emerging web technology.

 

PHP is still an evolving language. From PHP 4 to 5.3 the changes are vastly significant and even change the way in which developers have to think about software design patterns. ZF1 was very good at providing many tools and best practices for software development. These days we're nearing the release of PHP 7 and once again the changes have been significant. Many more features of software development practices are available in PHP and whilst well maintained, ZF1 lacks the support for crucial components that many newer frameworks now support. A big one of these being namespaces, for instance.

 

Further background...

Zend previewed ZF2 back in 2010, and released the first stable version of ZF2 in 2012. This added the crucial support needed for namespaces, amongst other updates. Due to it's extremely modular design, some may find the ideas of service managers a little over-engineered rather than useful. Perhaps a reason why there was a smaller adoption of ZF2 than Zend Technologies thought.....

 

WHY IS ZEND FRAMEWORK 1 AN ISSUE?

From a developers perspective, we love to see fresh new ideas and anything to make life easier; we like beautiful code, and tools that allow us to create it. This is why there has been a huge increase in popularity from Symphony and complimentary IDEs such as PHPStorm - They just work! When tools like this get used in university web projects this has an impact on older tools and their popularity, hence in this case the overall knowledge of ZF1, in place of fresh ideas.

if (!count($developers)) { throw new Wobbler(); }

Ah, so there is now a lack of fresh developers who have any knowledge of ZF1 at all. From a management perspective this is a problem; if we can't hire developers who have knowledge of ZF1 easily AND cost effectively, then how do we offer support to our Pimcore clients in the long term? ...even the short term?

 

IS THERE A SOLUTION?

Bluntly, nowell yes...time...The answer lies in the description below... 

 

Pimcore is an enterprise product.

Pimcore has to support being backward compatible as much as it possibly can. The idea of replacing out ZF1 might seem all good, but for existing clients that may mean a sudden end of life product! We have to think about LTS for new clients and old clients, which makes the problem a bit more complex, but as of the end of 2015, the following are facts about how the problem will be tackled:

 

  • Namespacing is now in the core of pimcore, so future development and PHP 7 is fully supported.
  • The Pimcore team are committed to backward compatibility, suggesting that instead of running old versions, pimcore should probably be upgraded where possible.
  • The Pimcore team are to start talks with Zend directly, to get the best information on ZF3. Then more concrete plans can be decided.
  • The future of which framework is adopted in the future for core updates will depend on both core team and partner decisions.
  • There will only ever be 2 major frameworks, i.e. Zend or Symphony used for core code.
Author Paul Technical Director

Technical Director & Co-founder of Gather. Paul is a Manchester born computer scientist with broad full stack web & mobile application skillset, he has helped shaped Gather's technology, and build many large scale web applications.