Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php__自动加载函数功能_Php_Oop - Fatal编程技术网

php__自动加载函数功能

php__自动加载函数功能,php,oop,Php,Oop,我正在使用以下代码加载我的对象类 function __autoload($class_name) { require_once ( 'classes/'.$class_name.'.class.php'); } 如果希望它这样,如果它找不到文件,它就会进入数据库,找到我试图访问的数据项的表。并在stop上创建一个标准对象,其中包含表示DB中列的变量。这可能吗?我知道如何用PHP检查文件是否存在,但我不太确定在使用正确的变量名启动后如何返回新的标准对象 非常感谢。创建一个函数,将表的所

我正在使用以下代码加载我的对象类

function __autoload($class_name) {
    require_once ( 'classes/'.$class_name.'.class.php');
}
如果希望它这样,如果它找不到文件,它就会进入数据库,找到我试图访问的数据项的表。并在stop上创建一个标准对象,其中包含表示DB中列的变量。这可能吗?我知道如何用PHP检查文件是否存在,但我不太确定在使用正确的变量名启动后如何返回新的标准对象


非常感谢。

创建一个函数,将表的所有列名作为数组返回(可能没有给出数据库规范)。然后使用空值(
NULL
)为以下各项初始化对象:

$names = get_table_column_names($table);
$values = array_fill(0, count($names), NULL);
$obj = (object) array_combine($name, $values);
$obj
是包含这些列的标准PHP对象


但是,这不适用于自动加载,因为您需要动态创建类定义以反映类型。我想说,你需要通过
eval
/
include
注入它,默认情况下公共属性初始化为空。

这与Paypal集成有什么关系?对不起,stak自动保存了我另一天要问的前一个问题的标题。只是问一下,你真的确定吗,你想这样做吗?虽然这样可以节省我一定的时间,不必定义每个类…,但是如果定义了一个类,系统会使用它…,但是这个类怎么知道要获取哪个记录呢?它可以按类名获取整个表,但这是否实用?我的意思是你的想法很好。可能是自动加载活动记录表模式。