A partire dal PHP 5, il modello a oggetti è stato riscritto per permettere performance migliori e più funzionalità. Dal PHP 4 c'è stato un cambiamento radicale. PHP 5 ora ha un modello ad oggetti completo.
Tra le funzionalità in PHP 5 ci sono l'inclusione della bisibility, abstract e final di classi e metodi, aggiunti anche magic methods, interface, cloning e typehinting.
PHP gestisce gli oggetti allo stesso modo dei riferimenti o handle; ciò significa che ogni variabile contiene un riferimento ad un oggetto piuttosto che una copia dell'intero oggetto. Vedi Oggetti e Riferimenti
Si può anche consultare Userland Naming Guide.