Я был укушен какой-то ошибкой ABSTRACTION & ORGANIZATION, и я решил, что я включу файлы в мое php-приложение, используя класс Loader, который выглядит следующим образом
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
. Есть ли способ, которым я могу предоставить глобальную область видимости для функций включенных файлов.