[英]How can I make variables accessible to all the functions within the class in php
[英]PHP, Custom include function - how do I make all other functions & variables accessible?
我為我的應用程序設計了一個自定義包含函數,該函數旨在使我的生活變得更加輕松,除了完成了完全相反的工作外,並導致我調試了相同類型的錯誤數小時,直到這個燈泡時刻意識到它是什么。
由於文件包含在函數中,因此文件內部的變量,函數等不是全局的。
有什么辦法可以使它起作用,還是整個練習毫無意義?
參見下面的代碼。
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);
}
}
謝謝
這是范圍問題。 您想在函數外部使用的任何在函數中創建的變量都必須global
化。
對於那些想知道如何解決這個問題的人,我沒有。
相反,我將所有文件放在一個數組中,例如
$filesInclude = array("file1","file2","file3","etc");
2個用於本地和外部文件的不同數組,然后在該數組上運行一個for循環。 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.