Sembra che se require_once
viene chiamato all'interno della funzione, il file incluso non estende l'ambito della variabile globale. Come convertire require_once
in un ambito globale all'interno di una funzione?require_once all'ambito globale all'interno di una funzione
Quello che sto cercando di fare è un po 'modulo dinamico caricatore:
function projects_init()
{
...
foreach ($projects as $p) {
require_once($p['PHPFile']);
$init_func = $p['init'];
if ($init_func)
$init_func();
}
}
Se non è possibile utilizzare require_once
in quel modo, qual è la soluzione più semplice per questo? (Per favore, niente strutture pesanti.)
EDIT: dovrebbe funzionare anche per PHP 5.2.
possibile duplicato di [C'è un modo per impostare esplicitamente l'ambito di require_once() su global?] (Http://stackoverflow.com/questions/8973664/is-there-a-way-to-set-the -scope-of-require-once-explicit-to-global) – Dunhamzzz
È possibile impostare globals nel file incluso o avere un modo diverso di fare ciò che si vuole fare, magari con i caricatori automatici, la riflessione, ecc.Potresti fornirci ulteriori informazioni e potremmo essere in grado di pensare qualcosa di meglio. Non mi piace usare l'ambito globale per compiti che potrebbero essere realizzati in modo diverso. – mobius
ofc è possibile includere file all'interno di una funzione e qualsiasi cosa in quel file globale sarà disponibile globalmente ... – Tudor