function Object() {
$args = func_get_args();
if (method_exists($this, '__destruct')) {
register_shutdown_function (array(&$this, '__destruct'));
}
call_user_func_array(array(&$this, '__construct'), $args);
}

解决方案 »

  1.   

    register_shutdown_function()函数参见文档http://php.net/manual/en/function.register-shutdown-function.php意为:注册一个在函数脚本执行结束后调用的函数参数array(&$this, '__destruct')是传递实例方法的方式,表明在脚本执行结束后,以$this作为上下文环境执行它的类中定义的__destruct方法你给出的代码是一个函数,不存在$this, 而$this在非对象环境应该是不允许用的, 不知道你是不是摘取的类文件中的部分代码,如果不是,那这段代码应该会有语法错误。。另外,php5之后,对象自身就是引用传值,不需要用&$this的方式来做.
      

  2.   

    这段代码是为了兼容php4做的这个Object函数应该就是Object这个class里的,
    在php4里,它是作为构造函数调用,这里面的代码是为了在php4里结束时同样能调用到__destruct函数 在php5里, __destruct会在结束时候自动调用,所以不需要这部分代码 ( 如果类里有__construct, 那么在php5里就不会调用这个Object函数)
      

  3.   

    register_shutdown_function的作用是指定当本页面所有脚本执行完成之后执行的函数。