0
모든 모듈을 자동으로로드 할 수 있도록 자동 로더 클래스를 만들려고합니다. 그러나 문제는 내가 구성 파일에서 전역을 설정 한 후, 바로 사용하여 그들 모두를 호출 할, 수 있습니다 :문자열을 반환하고 코드로 실행
을 configuration.php :
Autoloader::GetGlobals();
을 지금까지 나는이 3 개 개의 파일이
<?php
global $Configuration;
$Configuration['Globals'] = "Core Database Templates Directory Debugger";
?>
Autoloader.Class.php
<?php
require_once('Configuration.php');
private static $Globals = "";
private static $MakeGlobal = "global ";
public static function GetGlobals()
{
$ParsedGlobals = "";
$Globals2String = explode(" ", Autoloader::$Globals);
foreach($Globals2String as $Global)
$Globals[] = "$".$Global;
$DefinedGlobals = count($Globals);
for ($i = 0; $i < $DefinedGlobals; $i++)
{
$LastElement = $DefinedGlobals - 1;
if($i != $LastElement)
$ParsedGlobals .= $Globals[$i].", ";
else
$ParsedGlobals .= $Globals[$i].";";
}
return Autoloader::$MakeGlobal.$ParsedGlobals;
}
?>
내가 올바른 출력을 얻고있다
:
global Core, Database, Templates, Directory, Debugger;
다음 일은 (때문에 내가 PHP 코드로 아닌 문자열로이 해석 할, 그리고 내가 eval()
를 사용하지 않는다는 것입니다 이것이 마지막으로 사용되는 함수라는 많은 기사를 읽었습니다.)
질문 :이 문자열을 return
에서 PHP 코드로 실행하려면 Autoloader::GetGlobals();
으로 간단히 호출 할 수 있습니까?
:
출력을 정확하게, "PHP 코드"를 의미합니까? 문자열은 PHP 코드 유형이므로 배열로 변환하려고하십니까? – Dan
나는 그가 스크립트에 삽입하고 php에 의해 변수로 아니라 키워드로 해석하고 싶다고 생각한다. –
그래서 PHP로 전역 변수로 정확하게 실행하고 싶지만 간단한 문자열이 아니다. –