Ich brauche ein System für die Klasse Berufung wie folgt zu implementieren:Laravel dynamische Klasse Verwendung
Stellen gibt es eine Klasse calendar.php Umgang mit Datenbankabfragen (oder ein Modell, wenn Sie möchten), die standardmäßig verwendet werden soll. Wenn es notwendig ist, ein neues Verhalten zu implementieren, möchte ich eine Klasse MaterialCalendar.php implementieren, die die Calendar.php Klasse erweitert, so dass ich alle Methoden aus der Calendar.php in der neu erstellten MaterialCalendar.php verwenden kann Überschreiben Sie gegebenenfalls die übergeordneten Methoden.
Die Frage ist, wie diese Art von Verhalten im Code verwendete überall zu implementieren, in einer Ansicht oder in einem Controller:
if (Kindklasse existiert) {use Kindklasse} else {use Standardelternklasse}
Dieses Verhalten oben in Pseudocode sollte dynamisch sein, wenn also keine MaterialCalendar.php Calendar.php sollte standardmäßig verwendet werden, wenn MaterialCalendar.php vorhanden ist, dann sollte das verwendet werden. Es muss dynamisch sein, unabhängig von den in diesem Beispiel verwendeten Klassennamen.
Es gibt Objekte, die diese Klassen oder statische Klassen implementieren? –
@MaciejSikora nein sie sind nicht statisch – user6784929
Wenn nicht statisch Dann können Sie variable Klasse überprüfen, indem Sie http://php.net/manual/en/internals2.opcodes.instanceof.php –