﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	blockedby	blocking
132	Probleme mit auto_require und dem Geltungsbereich von Variablen	H. H. H.	Ronald Parcinski	"In den Dateien welche über auto_require eingebunden werden, dürfen keine Variablen definiert werden auf die im folgenden Code zugegriffen werden soll.

Beispiel JanoLaw:
{{{
function auto_require(...) {
...
  // require 30_janolaw.php
  if (defined('MODULE_JANOLAW_STATUS') && MODULE_JANOLAW_STATUS == 'True') {
    require_once(DIR_FS_EXTERNAL.'janolaw/janolaw.php');
    $janolaw = new janolaw_content();
  }
...
}
}}}
Da dies in der Funktion auto_require() mit einem require eingebunden wird, ist ein Zugriff auf die JanoLaw Klasse über $janolow ohne diese erneut zu initialisieren im folgendem Code nicht möglich.

Möglichkeiten um dieses Problem zu umgehen.
1. Gleich auf Klassen und autoload umsteigen.
2. auto_require nicht für Code verwenden, bei dem auf Variablen aus den auto_require Dateien im weiteren Scriptverlauf zugegriffen werden soll.
3. Variablen innerhalb nur global deklarieren.
4. Mit folgendem Konstrukt arbeiten und durch auto_require ein Array mit den einzelnen Dateien ausgeben.
{{{
foreach(auto_require(..) as $file) require $file;
}}}

Für weitere Informationen bei php.net einfach mal nach variable scope suchen.

"	Bug/Fehler	closed	hoch	modified-shop-2.0.0.0	Shop	1.06	fixed				
