Con la función error_handler podes marcar el nivel del error. Con el tema de pasar obj podes, tenes las funciones
serialize y unserialize para esta tarea. Si dispones de php 5 podes implementar de seguro la misma lógica que usabas con java.
Y con el tema de la sobrecarga de objetos no la comprendo bien, de mas que estoy mas del lado del código procedural que del oop.