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
为空,则会显示调试备份。如果发生这种情况,请将输出粘贴到此处。