Appena un progetto inizia ad assumere delle dimensioni consistenti, l'utilizzo delle classi diventa quasi obbligatorio.
Framework come ZF, CakePHP, Symphony etc. utilizzano le classi per mettere a disposizione dello sviluppatore un ambiente con moltissime funzionalità già pronte (es. autenticazione, ACL, accesso al database, etc.) in modo da potersi dedicare allo sviluppo della logica applicativa.
Ottenere la stessa flessibilità attravero una programmazione procedurale richiede uno sforzo sicuramente maggiore, senza la garanzia di riuscirci.