Я разработал пользовательскую функцию включения для моего приложения, которая должна была сделать мою жизнь намного легче, за исключением того, что она полностью противоположна и привела к тому, что я отлаживал одни и те же ошибки в течение нескольких часов, пока этот ламповый момент не понял, что это было.PHP, Custom include function - как мне сделать доступными все другие функции и переменные?
Поскольку файлы включены в функцию, переменные, функции и т. Д. Внутри файла не являются глобальными.
Есть ли способ, которым я могу заставить его работать, или это все упражнение бессмысленно?
См. Ниже код.
function import($a,$b = 1) {
global $options;
if($b == 1) $folder = "internal_functions";
elseif($b == 2) $folder = "external_functions";
else $folder = $b;
$file_path = $options['LIB_DIR']."/".$folder."/".$a.".php";
if(@!file_exists($file_path)) {
$_criticalFiles = array("sessionService/session_loader", "databaseService/db_connection","userService/isLoggedIn");
if(in_array($a,$_criticalFiles)) {
die("<center><h1>Critical Error.<br />Could not find {$a}.</h1></center>");
}
} else {
require_once($file_path);
}
}
Благодаря
можете ли вы добавить что-то внутри '$ a.php'? –
'$ a.php' - это имя переменной для файла, а' $ b' - это имя переменной для папки – DLipscombe