2011-10-31 43 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。