Ciao a tutti. Ho un quesito un po' complesso.
Sto facendo un framework, una sorta di cms in php e mi sono fermato al caricamento dei plugin. Il quesito è il seguente:
Dato che ogni plugin può estendere il core (il cms stesso) oppure un altro plugin ci deve essere un ordine nel caricamento dei plugin.
Mi spiego meglio. Il plugin A estende le funzionalità del plugin B che estende a sua volta il core. Ora se io carico prima il plugin A e successivamente il plugin B succede un casino, perché A non trova B nel momento in cui viene caricato. La risposta al problema sembra essere il topological sorting. Questo algoritmo permette di ordinare i nodi del grafo in modo tale per cui i nodi che stanno più in alto vengono messi per primi nell'ordinamento.
Bhe spero di essermi spiegato. Su wikipedia c'è lo pseudocodice ma non sono in grado di scriverlo in php anche perché non riesco a capire alcune parti. Se qualcuno ha una minima idea di come fare si faccia avanti! grazie![]()
![]()