Die Vorteile von OOP sind bei PHP dieselben wie bei allen anderen objektorientierten Programmiersprachen. Gerade wenn Applikationen umfangreicher werden hilft einem OOP den ganzen Code strukturierter und übersichtlicher zu halten. Ich muss mich beispielsweise nicht mehr durch x Zeilen Code kämpfen um einen Fehler nachvollziehen zu können, sondern durch geschicktes Exception-Handling kann ich ihn abfangen und direkt die betreffende Stelle fixen, was in der Regel nur ein paar Zeilen sind.
Zudem kann ich auch Code-Zeilen einsparen, indem ich in einer Klasse bestimmte Eigenschaften und Methoden definiere und diese an ähnliche Klassen vererbe.
Ganz allgemein gesagt, kann man mit OOP bestimmte Aufgaben und Eigenschaften kapseln und diese "Kapsel" überall einbinden und die darin definierten Objekte und Methoden nutzen. Das schafft unglaublich viel Flexibilität und selbst bei einer funktionsbasierten Ablaufsteuerung hat man in der Regel bei komplexeren Projekten mehr overhead als mit klassenbasierter Programmierung.
Als Beispiel:
Ein Arbeitskollege und ich mussten vor kurzem für einen Kunden ein kleines CMS programmieren, das recht modular sein sollte, da er es für verschiedene Anwendungsfälle einsetzen wollte. Einmal sollte es eine Bildergalerie beinhalten, in dem anderen Fall eine Webshop-Komponente usw. Zudem wollte er auch für jeden Fall ein komplett anderes Design, also musste auch noch eine kleine Template-Engine her.
Das alles ohne Klassen zu bewerkstelligen wäre wohl durchaus möglich, allerdings wäre die Applikation wohl träger, nicht wirklich zukunftssicher und wir hätten wohl auch doppelt bis dreimal solange für das Projekt gebraucht.
Wobei ich aber auch sagen muss, dass ich bei kleineren Aufgaben und Skripten durchaus auf Klassen verzichte, da sie natürlich auch einen gewissen Overhead haben, der sich nicht immer rechnet.
Ein weiterer nützlicher Verwendungszweck von OOP in Webapps ist natürlich der Einsatz von fertigen Frameworks, wie es BasicAvid genannt hat.