Ich erstelle gerade ein ORM in PHP, und ich habe eine Klasse 'ORM', die im Grunde ein Objekt erstellt, das einer Datenbanktabelle entspricht (ich strebe ähnliche Funktionen wie bei einem ActiveRecord-Muster an.) ORM selbst erweitert 'Database', die die Datenbankverbindung einrichtet.
Also kann ich aufrufen:
$c = new Customer();
$c->name = 'John Smith';
$c->save();
Die ORM-Klasse bietet diese Funktionalität (richtet die Klasseneigenschaften ein, bietet save(), find(), findAll() etc. Methoden) und Customer erweitert ORM. Möglicherweise möchte ich jedoch in Zukunft zusätzliche öffentliche Methoden zu Customer (oder einem anderen Modell, das ich erstelle) hinzufügen. Sollte diese also ORM erweitern oder nicht?
Ich weiß, dass ich hier nicht viele Informationen bereitgestellt habe, aber hoffentlich ist dies anhand einer vagen Erklärung verständlich, anstatt 300+ Codezeilen aufzulisten.