Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Alejandro Celaya:
Demonstrating the interoperability and decoupling of Zend Expressive
Jul 16, 2018 @ 12:16:48

Alejandro Celaya has a new post on his site covering one thing he sees that makes the Zend Expressive framework (based on the full Zend Framework) one of the best to work with: it's interoperability with other libraries and tools.

I have written a lot of posts about Zend Framework in general and Zend Expressive in particular, but I have noticed that I have never talked about one of the things that, from my point of view, makes Expressive so game-changing, Interoperability.

He starts with a bit of background about frameworks in PHP and how developers most commonly selected them because of the features they bundled. Picking and choosing different parts of different frameworks wasn't an easy task until the PHP-FIG came around to try to consolidate and standardize interfaces. This made interoperability possible and provided the methods for Zend Expressive to implement for working with just about any library you'd like to plug in. He then gets into detail about Zend Expressive's interoperability functionality and which are based on PHP-FIG PSRs (recommended interfaces). He also covers some of the extendibility Zend Expressive brings to the table as well as providing a proof of concept to help illustrate this points.

tagged: zendexpressive interoperability extensibility tutorial decouple

Link: https://blog.alejandrocelaya.com/2018/07/14/demonstrating-the-interoperability-and-decoupling-of-zend-expressive/

PHPMaster.com:
Practical Code Refactoring, Part 3 - Extensibility
Oct 25, 2012 @ 09:22:05

PHPMaster.com has posted the third part in their "Practical Code Refactoring" series - this time with a focus on Extensibility. (Part 1, Part 2).

Extensible code is a piece of code which follows re-usable, logical, well-known patterns, be it standard design patterns, or normal logical flow. Modular code tends to be highly extensible and monolithic code tends to be non-extensible, but monolithic code might be more efficient, so to solve this conundrum some practices allow developing in a modular way and deploying in a monolithic way so we can get the best of both worlds. The major aspects which we are to discuss with regard to extensible code are: logical extensibility (normal logical flow and design patterns), modular design, and decoupling and encapsulation.

He goes through each of the sections - logical extensibility, modular design and decoupling/encapsulation - and for each provides some questions to ask to help you whip your code into shape.

tagged: code refactor extensibility series decoupling encapsulation modular

Link: