phpbar.de logo

Mailinglisten-Archive

[php] include() oder require() in globalem kontext

[php] include() oder require() in globalem kontext

Hinrich Donner hinrich at phportals.de
Sam Nov 20 13:26:41 CET 2004


On Friday 19 November 2004 17:15, Manu Robledo wrote:

> included werden sollen), ohne dass der befehl in einer Funktion steht? Oder
> wie man der include-Datei vorgaukeln kann, sie würde in globalem Kontext
> includet??

function Loader($__filename)
{
  extract($GLOBALS);
  $__global_keys = array_keys($GLOBALS);
  include $filename;
  foreach ($__global_keys as $var)
    unset($$var);
  unset($__global_keys, $__filename, $var);
  foreach (get_defined_vars() as $var => $value)
    $GLOBALS[$var] = $value;
}

Nicht sonderlich performant, aber es gaukelt der eingebunden Datei vor, sie 
befände sich im globalen Kontext und stellt anschließend die neuen Variablen 
der eingebundenen Datei in den globalen Kontext, mit allen 
Sicherheitsrisiken.

So ein Vorgehen sollte man jedoch auf Ausnahmefälle während der 
Migrationsphase beschränken und nicht in produktiven Anwendungen einsetzen.

Hinrich
-- 
Hinrich Donner
PGP: 250E 1ED7 F2FE 0C57 A0A6 52F4 B35A 5E7C 6CE1 8A0E

php::bar PHP Wiki   -   Listenarchive