Fammi capire, ma tu memorizzi ciò che devi caricare in un grafo orientato non ciclico?
Se A ha bisogno di B, si farà carico di effettuare la sua require_once. Se B ha bisogno di Core farà le sue require_once.
Se non ti piace l'utilizzo diretto delle raquire_once, e vuoi nasconderle nel core, allora il plugin (per dire) dovrà comunque caricare un elemento base (comune a tutti i plugin) che permetta loro di dichiarare al core la propria esistenza e dipendenze, di modo che il core possa elaborare il nome simbolico del plugin in un nome di file, cosa che farà anche per le dipendenze, e caricare con i file necessari con proprie require_once.
![]()