以下是代码:
<?php
class Person {
public $name;
public $surname;
public function __construct($name,$surname) {
$this->name=$name;
$this->surname=$surname;
}
}
$person = new Person();
$person->name='Christian';
$person->surname='Sciberras';
?>
我不知道为什么代码没有运行而是显示:
(致命错误:未捕获的ArgumentCountError:参数太少 函数Person :: __ construct(),0传入 第15行的C:\ xampp \ htdocs \ oop \ index.php和预期的2 C:\ xampp \ htdocs \ oop \ index.php:8堆栈跟踪:#0 C:\ xampp \ htdocs \ oop \ index.php(15):Person-&gt; __ construct()#1 {main} 在第8行的C:\ xampp \ htdocs \ oop \ index.php中抛出
答案 0 :(得分:2)
你的传递方式如下
$person = new Person('Christian','Sciberras');
因为你有
public function __construct($name,$surname){
/*
^ ^
| |
arg1 arg2
*/
}
所以它希望你传递2个参数,这就是为什么你得到以下信息
函数Person :: __ construct(),
的参数太少