the major limitation in php4 is
When assigning a variable (that points to an object) to
another variable, a copy of the object would be created. this will
led to obscure behavior in
PHP 4 applications because many developers thought that both variables
would point at the same object, which was not the case. The variables were
instead pointing at separate copies of the same object. Changing one would
not change the other.
In PHP 5, the infrastructure of the object model was rewritten to work
with object handles.
google is your best friend:) learn more about php5 features from it