c'è stata molto di recente una discussione iniziata da andr3a a riguardo e dopo non poco tweaking siamo riusciti a tirar fuori, molto più lui che io, una classe da estendere per far si che la classe che la estende supporti nativamente, senza quindi scrivere una riga di codice, l'overloading dei metodi con il type hinting
il codice è ESTREMAMENTE PERFORMANTE, ed è possibile scaricarlo qua
http://www.devpro.it/code/158.html
Per fare l'overload è semplice
basta definire una classe che usi la parola chiave extends per estendere la classe TypeHintingOverload dopo di che i metodi, dato che php non supporta nativamente la sintassi, bisogna chiamarli apponendo un suffisso del tipo _XYZ dove XYZ corrisponde ad un numero, questo vi permette anche di ordinarli per dargli una logica, se vi serve
Dopo di che basta chiamare il metodo passando i normali parametri
L'overloading funziona esclusivamente con tipi non primitivi quindi derivati degli oggetti (vostri oggetti in pratica) e gli array