Ich kann der Antwort von Chacha102 nicht zustimmen.
Eine angemessene Antwort auf diese Frage würde mehrere Bücher füllen - geschweige denn einen 20-zeiligen Beitrag hier.
Beide Ansätze haben ihre Vor- und Nachteile. Ich würde jedem, der sich als guter Programmierer bezeichnen möchte, empfehlen, umfangreiche Erfahrungen in prozeduraler, nicht-prozeduraler und objektorientierter Programmierung zu sammeln. Und auch Erfahrung mit verschiedenen Methoden wie SCRUM, Kaskade und RAD.
Was die Eignung von PHP für OO- und prozedurale Programmierung betrifft, so liegen die Wurzeln der Sprache sicherlich in der letzteren (aber beachten Sie, dass sowohl Java als auch ASP eher hybride als echte OO-Sprachen sind).
Ich neige dazu, prozeduralen Code zu schreiben, wenn ich etwas produzieren muss, das entweder sehr einfach ist oder dessen Verhalten genau definiert und vorhersehbar sein muss. Wenn ich jedoch komplexen Code schreibe, bei dem das Verhalten zur Laufzeit stark variiert, finde ich, dass OO in Bezug auf die Entwicklungszeit wesentlich effizienter ist - obwohl der Entwurf auf einer begrenzten Anzahl von Anwendungsfällen basiert.
Zu argumentieren, dass man immer prozeduralen Code schreiben sollte, weil er schneller läuft als OO-Code:
1) ist nicht unbedingt wahr 2) ignoriert völlig die relativen Kosten der Entwicklerzeit gegenüber den Hardwarekosten
wäre es gut, Dinge innerhalb einer Klasse zu verpacken und statische Funktionen zu verwenden
In Anbetracht der Tatsache, dass Namespaces jetzt in PHP zur Verfügung stehen, ist dies eine wirklich chaotische Art und Weise, um Namespace-Kollisionen zu vermeiden, und nichts, was ich empfehlen würde.
C.