Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.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 属性缺少参数1::\u构造(),_Php_Class_Oop - Fatal编程技术网

Php 属性缺少参数1::\u构造(),

Php 属性缺少参数1::\u构造(),,php,class,oop,Php,Class,Oop,我已经在本地编写了代码,一切正常,我已经尝试将其导入到新系统中,并且出现了当前错误: Warning: Missing argument 1 for Properties::__construct(), called in /home/hghdigib/public_html/system/core/init.php on line 18 and defined in /home/hghdigib/public_html/classes/properties_data.php on line

我已经在本地编写了代码,一切正常,我已经尝试将其导入到新系统中,并且出现了当前错误:

Warning: Missing argument 1 for Properties::__construct(), called in 
/home/hghdigib/public_html/system/core/init.php on line 18 and defined in
/home/hghdigib/public_html/classes/properties_data.php on line 8
显示功能的页面

include( str_replace('/core/', '/system/core/init.php', MODX_CORE_PATH) );
$db = new Mysqlidb('localhost','user','pass','database');
$properties = new Properties($db);
$properties->showLatest(3);
Init.php

define('CORE_PATH', dirname(__FILE__));

try

{

    require_once("classes/database.php");
    require_once("classes/properties_data.php");
    require_once("classes/xml_upload.php");

}

catch (Exception $e)

{
    die('Error loading system.');
}
Properties\u data.php第1-8行

    class Properties {
    public $db;
    function __construct($db) {
        $this->db = $db;    
    }
感谢您使用:

require_once("classes/database.php");
require_once("classes/properties_data.php");
require_once("classes/xml_upload.php");
要需要文件,请选中
classes/xml\u upload.php
,可能有一些代码可以调用
类属性

如何调试?将
属性更改为:

class Properties {
public $db;
function __construct($db = null) {
    if (null == $db) {
        // here you will see the back trace info
        print_r(debug_backtrace());
    }
    $this->db = $db;    
}
使用时:

require_once("classes/database.php");
require_once("classes/properties_data.php");
require_once("classes/xml_upload.php");
要需要文件,请选中
classes/xml\u upload.php
,可能有一些代码可以调用
类属性

如何调试?将
属性更改为:

class Properties {
public $db;
function __construct($db = null) {
    if (null == $db) {
        // here you will see the back trace info
        print_r(debug_backtrace());
    }
    $this->db = $db;    
}


那次编辑不是一次改进。init.php第18行在哪里?我只看到IDontKnow.php中的前7行+一些行…为什么不使用xPDO?似乎您的本地主机连接不起作用,因为连接到另一台主机,因此,将带有false结果的$db传递给属性构造函数会导致一个错误,这是init.php的全部,因为我在其中有空格?我只看到IDontKnow.php中的前7行+一些行…为什么不使用xPDO?似乎您的本地主机连接不起作用,因为连接到另一台主机,因此,将带有false结果的$db传递给属性构造函数会导致一个错误,这是init.php的全部,因为我在其中有空格。我可以删除类/xml_上载,但这仍然显示sames错误。@BrentFrench,我更新了答案,将回溯信息粘贴到了您的问题中。出于某种原因,这修复了错误并起作用,奇数:SThanks@BrentFrench是的,它现在可以工作了,但是没有$db的属性对象以后将无法在应用程序中执行db查询。这不是一个解决方案,只是一个变通办法,直到它在其他地方再次刹车。如果
$db
为空,则会显示
调试备份。如果发生这种情况,请将输出粘贴到此处。我可以删除类/xml\u上载,但仍然显示sames错误。@BrentFrench,我更新了答案,将回溯信息粘贴到您的问题中。由于某种原因,这修复了错误并起作用,奇数:SThanks@BrentFrench是的,现在可以用了,但是没有$db的属性对象将无法在应用程序中执行db查询。这不是一个解决方案,只是一个变通办法,直到它在其他地方再次刹车。如果
$db
为空,则会显示
调试备份。如果发生这种情况,请将输出粘贴到此处。