ABSTRACTION & ORGANIZATIONバグで、私はファイルをローダーと呼ばれるクラスを使ってPHPアプリケーションに組み込むことにしました。この関数内にファイルをインクルードし、インクルードされたファイルのグローバルスコープをPHPで許可する方法
class Loader
{
public $loadedFiles=array();
public function isLoaded($fileName)
{
if(in_array($fileName,$this->loadedFiles))
return true;
else
return false;
}
public function load()
{
$fileList=func_get_args();
foreach ($fileList as $file)
{
if(!$this->isLoaded($file))
{
$flag=include(ROOT_DIR_PATH.'includes'.DS.$file);
if($flag)
{
$this->loadedFiles[]=$file;
}
else
return false;
}
}
}
}
のように見える今、私はこの
$loader=new Loader();
$loader->load('db.class.php','utility.php','objects.php');
のようなものを使用して私のアプリのファイルを含めることができますが、問題は今、上記の方法により含まれるファイルのすべての機能が目を付与されていることです上記の方法の範囲load
。今私はインクルードされたファイルの機能を使用することはできません。上記のファイルの機能を使用するたびに、undefined function
という警告が表示されます。インクルードされたファイルの機能にグローバルスコープを与える方法がありますか?
はパスです。$ flag = include(ROOT_DIR_PATH.'includes'.DS。$ file);正しい? – JackTurky