Friend function is best shared among a number of different classes. Such functions can be declared
either as member functions of one class or as global functions. In
either case they can be set to be friends of other classes, by using a
friend specifier in the class that is admitting them. Such functions can
use all attributes of the class which names them as a friend, as if
they were themselves members of that class.
A friend declaration is essentially a prototype for a member function, but instead of requiring an implementation with the name of that class attached by the double colon syntax, a global function or member function of another class provides the match.
For this PHP 5.3+ implementation you will need a base class. A class that should be extended by the classes that need to have friends. This base class provides the friend-architecture, so that it will need to be coded only once.
A friend declaration is essentially a prototype for a member function, but instead of requiring an implementation with the name of that class attached by the double colon syntax, a global function or member function of another class provides the match.
For this PHP 5.3+ implementation you will need a base class. A class that should be extended by the classes that need to have friends. This base class provides the friend-architecture, so that it will need to be coded only once.