dire che ho ottenuto una classe come:Ottenere tutte le Classi estesi in PHP
<?
class ObjectModel {
}
e ho avuto alcune altre classi come:
<?
class SomeNewClass extends ObjectModel {
}
class SomeOtherNewClass extends ObjectModel {
}
C'è un modo per ottenere i bambini (SomeNewClass & SomeOtherNewClass) basato sulla classe ObjectModel?
No, non è possibile farlo direttamente. Perchè ti serve? Un modo ragionevole per farlo è di tenerne traccia in un file di configurazione separato, ma è un po 'noioso. Il punto di ereditarietà è quello di nascondere i dettagli, richiedendo che la catena ereditaria sia in conflitto diretto con quell'obiettivo. Non dovresti saperlo. – Halcyon
È possibile registrare nuovi figli tramite 'parent :: __ construct()' ma potrebbe essere goffo. Puoi chiarire la tua intenzione? –
Sto costruendo un PHP-CMS. E ogni modello in esso eredita da ObjectModel. Ora, se un controller dovesse cercare un modello specifico, che potrebbe trovarsi su un percorso dinamico, sarebbe bello cercare quella classe e usarla. ad esempio: il modello SomeNewClass potrebbe essere in /_components/sample/_models/somenewclass.php oppure potrebbe essere in /_brain/_components/navigation/_models/somenewclass.php –