這一直在推動我堅果(喝淫穢的咖啡量和通宵工作並沒有幫助)我想從我在應用程序內的任何地方訪問一個類。我在我的索引頁實例化類(它會自動加載我的lib/classes)但是我似乎無法獲得對它的全局訪問。這是我的索引頁:Php訪問全球分類
function __autoload($class)
{
require LIBS . $class .'.php';
}
$Core = new Core($server, $user, $pass, $db);
這種自動載入我的庫/類完美,然後我實例化我的核心(這是我的庫/ core.php文件中加載自動)
然後在我的核心就是我創建了通常的數據庫連接,獲取並檢查URL以及實例化幾個類(哪些是自動加載的)的地方,我創建了__construct,這是我想要實例化Template類的地方。我希望在我的任何控制器和模型中都有全局訪問權限。
class Core {
function __construct(DATABASE VARIABLES IN HERE)
{
$this->Template = new Template();
}
}
好了,所以我想我可以做訪問模板對象我父模型和父控制器內的下列:
class Controller
{
public $Core;
function __construct()
{
global $Core;
$this->Core = &$Core;
}
}
控制器是父,延伸着我的所有控制器,因此我認爲我可以只寫$this->Core->Template->get_data();
來訪問一個模板方法?這似乎會引發錯誤。
我確定它一定是我忽略的一些簡單的東西,如果有人能給我一隻很棒的手。這個問題讓我瘋狂。
而且我__construct內我的孩子控制器內一個側面說明我構建父parent::_construct();
的錯誤似乎是Notice: Trying to get property of non-object
和Fatal error: Call to a member function get_data() on a non-object
。
爲什麼不把'$ Core'作爲參數傳遞給構造函數? – 2013-02-19 19:47:19
相關閱讀:http://stackoverflow.com/questions/11923272/use-global-variables-in-a-class/11923384#11923384 – PeeHaa 2013-02-19 19:54:33