Ich gehe davon aus, dass diese Frage aus dem Blickwinkel eines Anfängers gestellt wird. Sobald ein Programmierer Erfahrung mit dem Schreiben von objektorientiertem Code hat, kann man sicherlich ein Projekt von Anfang an mit dieser Architektur erstellen. Ich würde sogar behaupten, dass ein Top-Down-Ansatz bei größeren Projekten sehr viel Zeit sparen kann.
Für das von Ihnen skizzierte Bottom-up-Szenario müssten Sie allerdings ein Gefühl dafür entwickeln. Referenz este wikipedia-Artikel für weitere Informationen über die verschiedenen Ansätze, allgemein gesprochen.
Speziell für PHP würde ich sagen, dass Sie diesen Ansatz für eine Migration verwenden können:
- Nehmen Sie so viel Code wie möglich (z.B.: verwandte Funktionen) und platzieren Sie sie in Include-Dateien.
- Erstellen Sie eine Containerklasse für diese Datei. Sie können damit beginnen, einfach alle Funktionen zu verwenden, indem Sie sie in einer statisch oder sogar eine statische (Singleton) Klasse verwenden.
- Allmähliche Umstellung auf ein Instanzparadigma anstelle des Paradigmas der globalen Daten / statischen Funktionen, das die Schlechtigkeit der prozeduralen Programmierung ausmacht.
Dieser Prozess ist eine großartige Möglichkeit, sich mit OO vertraut zu machen, und am Ende werden Sie die Vorteile erkennen. Es wird Ihnen auch meinen anfänglichen Punkt vermitteln: dass es viel länger dauert, etwas in OO umzuwandeln, als wenn man von Anfang an mit einem halbwegs guten Design (hoher Ordnung) beginnt.