That is to cpmplexe as can I write that in english (too bad for that)
But .. I will give you a simple example...
If you have 5 blocks from the same type, the code of each block code is loaded 5 times on standard programming. If you programming the same with OOP, the code is loaded ONE time. For the other 4 blocks, the same code is used. Only the content (variables) is different.
// load the class file if not loaded
// create two identically objects, call the constructor to init the class with different variables
$object1 = new $classname(variables1);
$object2 = new $classname(variables2);
// call a object methode (note: a methode have the same functionality as a function in standard php)
And more examples:
You need two blocks .. mostly identically, but the one have the option x the other option y
With standard php you must write the same code twice.
With OOP you write ONE basic class they have all common options.
Then you add a subclass with option x and one subclass with option y. On both the basic class is the parent, they have the contructor.
No you can call the class x with all parameters and call the class y with the other parameters. Both subclasses calls automatically the parent class and the constructor in it. Both blocks do what you want .. but the code is smaller and simpler to handle and to support for the programmer.
Now my final question..
Can you call a function (with the same name) in one of the 5 same block in TinyPortal, eZportal, SimplePortal?
And my answer..
NO, NO, NO .. NEVER .. (php error)
And in PortaMx?
Of course .. call the object::methode ($object->methode())
I hope you spend for my explain