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

SitePoint PHP Blog:
Achieving Modular Architecture with Forwarding Decorators
Feb 17, 2017 @ 13:46:51

The SitePoint PHP blog has a tutorial posted from author Eugene Dementjev covering the use of "forwarding decorators" to create a more modular architecture for your application.

As your web application becomes larger, you certainly start to think more about designing a flexible, modular architecture which is meant to allow for a high amount of extensibility. There are lots of ways to implement such architecture, and all of them circle around the fundamental principles: separation of concerns, self-sufficiency, composability of the parts of an app.

There is one approach which is rarely seen in PHP software but can be effectively implemented — it involves using native inheritance to provide manageable patching of the software code; we call it the Forwarding Decorator.

The post starts out by defining the modular architecture and some of the basic concepts involved (including a flow graph or two). Then comes the examples - how as basic version of the system could be used, multiple modules modifying a single class and hooks/patching the code.

tagged: modular architecture forwarding decorators tutorial designpattern

Link: https://www.sitepoint.com/achieving-modular-architecture-with-forwarding-decorators/

Rob Zienert's Blog:
Zend_Form Decorators and Composite Elements
Jun 23, 2010 @ 12:50:12

Rob Zienert has a new post to his blog today looking at Zend_Form decorators and composite elements to make for more powerful forms in your Zend Framework application.

Today had quite a number of Zend_Form-related questions in #zftalk. Everything from Decorators to Composite Elements, you know - the usual Zend_Form questions. What better way to answering questions than with a blog post and some sample code?

His illustration of decorators shows how to put each of the form elements inside of a "DI" tag to help makes the lives of the frontend developers that much simpler. For the composite elements he shows how to use them to group a set of selects into one object that is then validated through Zend_Date for valid date information. You can grab the code for each of these illustrations from this account on Github

tagged: zendform decorators composite tutorial

Link:

Ivo Jansch's Blog:
Building proxies, decorators and delegates in PHP5
Jul 03, 2006 @ 19:54:13

Ivo Jansch today gives an excellent look on proxies, decorators and delegates; three popular desigh patterns.

In PHP5, you can define methods in an object for intercepting calls to methods of an object and for intercepting access to object member variables. These methods (__get, __set and __call) enable the implementation of very generic proxies, decorators and delegators.

This is a great introduction to these three patterns and how to implement them in PHP

tagged: design patterns proxies decorators delegates design patterns proxies decorators delegates

Link:

Ivo Jansch's Blog:
Building proxies, decorators and delegates in PHP5
Jul 03, 2006 @ 19:54:13

Ivo Jansch today gives an excellent look on proxies, decorators and delegates; three popular desigh patterns.

In PHP5, you can define methods in an object for intercepting calls to methods of an object and for intercepting access to object member variables. These methods (__get, __set and __call) enable the implementation of very generic proxies, decorators and delegators.

This is a great introduction to these three patterns and how to implement them in PHP

tagged: design patterns proxies decorators delegates design patterns proxies decorators delegates

Link: