我的班级文件如下所示
<?php
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;
}
}
在我的构造中,我传递了一个值。 当我想创建一个人类对象的实例时,在其他地方,如下所示
$hasee= new person();
$muja = new person("Mujahidh Haseem");
我想严格传递一个值吗? 我是第一次收到这些通知。
警告:缺少person :: __ construct()的参数1,在第3行的D:\ xampp \ htdocs \ oop \ index.php中调用,并在D:\ xampp \ htdocs \ oop \ class_lib.php中定义5
注意:未定义的变量:people_name in 第6行的D:\ xampp \ htdocs \ oop \ class_lib.php
答案 0 :(得分:2)
您可以设置参数的默认值,当省略参数时将使用该参数
Before the upgrade :
MacBook Pro (15inch, Late 2011)
Processor 2.4GHz Intel Core i7
Memory 4GB 1333MHz DDR3
Graphics Intel HD Graphics 3000 512MB
HDD
After the upgrade :
MacBook Pro (15inch, Late 2011)
Processor 2.4GHz Intel Core i7
Memory 8GB 1333MHz DDR3
Graphics Intel HD Graphics 3000 512MB
480 GB SSD
答案 1 :(得分:2)
如果要使构造函数参数可选,请提供默认值。
function __construct($persons_name = null) {
$this->name = $persons_name;
}
请参阅Default argument values上的PHP文档。
如果您不想将参数设为可选参数,则每次创建实例时都必须提供参数,否则您将收到这些错误。