2011-10-31 39 views
-2

我正在使用下面的代碼來加載我的對象類;php __autoload函數功能

function __autoload($class_name) { 
    require_once ('classes/'.$class_name.'.class.php'); 
} 

如果希望它,以便如果它找不到該文件,它將轉到數據庫,找到我想要訪問的數據項的表。並在包含表示DB中的列的變量的停止處創建標準對象。這可能嗎?我知道如何檢查文件是否與PHP存在,但我不太確定一旦啓動了正確的變量名稱,我將如何返回新的標準對象。

非常感謝。

+3

這與PayPal集成有什麼關係? – Clive

+0

對不起,標題自動保存由前面的問題,我要去問另一天。 – user1020317

+2

只是問,你真的確定,你想這樣做嗎? – hakre

回答

0

創建一個函數,該函數返回一個表的所有列名作爲數組(沒有給出數據庫規範,可能是MySQL?)。然後,對於每個那些初始化具有空值(NULL)的對象:

$names = get_table_column_names($table); 
$values = array_fill(0, count($names), NULL); 
$obj = (object) array_combine($name, $values); 

$obj是含有那些列的標準PHP對象。

但是,這不適用於自動加載,因爲您需要動態創建類定義以反映類型。我想說,你需要通過eval/include注入它,默認情況下公共屬性初始化爲NULL。