警告:缺少1个参数
任何想法,为什么我得到这个错误:警告:缺少1个参数
Warning: Missing argument 1 for person::__construct(), called in /home/fishbein/public_html/dev/OOP/index.php on line 5 and defined in /home/fishbein/public_html/dev/OOP/class_lib.php on line 6
Warning: Missing argument 1 for person::__construct(), called in /home/fishbein/public_html/dev/OOP/index.php on line 6 and defined in /home/fishbein/public_html/dev/OOP/class_lib.php on line 6
有了这个代码:
<?
class person {
var $name;
function __construct($persons_name) {
$this->name = $persons_name;
}
function set_name($new_name) {
$this->name = $new_name;
}
function get_name() {
return $this->name;
}
}
?>
我也在我的索引文件中使用这样的:
$tyler = new person("Tyler");
实例化时你做了。但这不是解决方案。您可以删除构造,创建新实例,然后设置名称。如果你的方式不起作用。
但是,我正在使用$ tyler = new person(“Tyler”); – Phil 2010-12-23 16:36:33
您正在调用构造函数而不传入参数。在争论的$obj = new person("joe");
$obj = new person();
代替
@Phil:在Brian的回答结尾处:`$ p = new Person(“theirName”);` – 2010-12-23 16:33:54
我一直在这样做:$ tyler = new person(“Tyler”); – Phil 2010-12-23 16:34:12
$persons_name = ""
设置这样的:也许你正在做的事情一样 $p = new person();
,而不是$p = new person("theirName");
看起来: 如果类名与功能名称相同,则发出此警告。 如果您将该函数的名称与类名称不同,那么它看起来没问题。 你只需要提供参数调用函数,他不是在类实例化
时,试试这个代码构造方法中
function __construct($persons_name= NULL) {
$this->name = $persons_name;
}
初始化NULL。
您需要在index.php上发布第5行和第6行。这就是错误所在。 – Chris 2010-12-23 16:38:53