vorrei citarne dinamicamente alcune funzioni usando le variabili, in questo modo:Utilizzare una variabile per definire una funzione PHP
$thing = 'some_function';
function $thing() {
echo 'hi!';
}
So che posso chiamata una funzione utilizzando una variabile in questo modo:
$something = 'function_exists';
if($something('print_r')) {
echo 'Yep';
}
Ma l'esempio principale non funziona per me.
Qualche idea?
Sto utilizzando un sistema con moduli. Ogni modulo è un singolo script php che può essere aggiunto o rimosso da una cartella specifica.
Ogni modulo ha bisogno di una nuova funzione per inizializzarlo. Sto globing per i nomi dei file, quindi voglio fare un ciclo e creare una serie di funzioni, una per ogni modulo.
Sto utilizzando un sistema esistente e non posso riscrivere la gestione del modulo.
L'alternativa sarebbe semplicemente scrivere tutte le funzioni di init e codificarle con il codice, ma man mano che l'elenco cresce, così il codice - e se un modulo viene tolto vengono lanciati degli errori.
http://php.net/manual/en/function.call-user-func.php check out – Sleeperson
Tranne che questo non sarebbe utile. Vedete, quella funzione è statica per tutto il tempo - non potete fare in modo che la funzione agisca diversamente in questo modo. Qualunque sia la denominazione di questa funzione, questa funzione agirà allo stesso modo indipendentemente da cosa. È come fare la funzione 'hello()', eccetto il nome diverso a seconda di come ti piace utente: P. A tale funzione probabilmente accederai con '$ thing()', rendendolo inutile. Basta nominare la funzione normalmente. – xfix
Forse potresti spiegare perché stai provando a creare dinamicamente funzioni statiche? Questa non sembra una buona idea, in generale. Forse, se spieghi il problema che stai cercando di risolvere, le persone potrebbero suggerirti una soluzione migliore. –