În PHP 5 este un nou Model de Obiecte. Manipularea obiectelor în PHP a fost complet rescrisă, îmbunătățind performanța și introducând mai multe facilități. În versiunile precedente ale PHP obiectele erau manipulate ca tipuri primitive (ca de exemplu întregi sau string-uri). Neajunsul acestei metode era că din punct de vedere semantic întregul obiect era copiat atunci când era atribuit unei variabile, sau când era transmis ca parametru unei metode. În noua abordare, obiectele sunt accesate prin handle, și nu prin valoare (puteți să considerați handle ca un identificator al obiectului).
Mulți programatori PHP nici nu-și dau seama despre trucurile cu copierea în modelul de obiecte vechi, de aceea majoritatea aplicațiilor PHP vor lucra fără modificări, sau cu foarte puține modificări.
Noul Model de Obiecte este documentat în Prezentarea Limbajului.
În PHP 5, funcția cu denumirea clasei este numită constructor, dar numai dacă este definită în această clasă. În PHP 4, ea este apelată de asemenea dacă este definită în clasa-părinte.
Vedeți de asemenea directiva zend.ze1_compatibility_mode pentru informații despre compatibilitatea cu PHP 4.