Любая идея, почему я получаю эту ошибку:
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");
При создании экземпляра вы делали: $obj = new person();
вместо $obj = new person("joe");
$persons_name = ""
Установите это так в аргументе. Но это не решение. Вы можете удалить конструкцию, создать новый экземпляр и затем установить имя. Если ваш как-то не работает.
Вы вызываете конструктор, не переходя в аргумент. Возможно, вы делаете что-то вроде $p = new person();
вместо $p = new person("theirName");
Кажется: если имя класса совпадает с именем функции, это предупреждение предоставляется. Если вы называете функцию по-другому от имени класса, это кажется ОК. Вы должны указывать аргументы только при вызове функции не в экземпляре класса
Попробуйте этот код
function __construct($persons_name= NULL) { $this->name = $persons_name; }
инициализированный метод внутренней конструкции NULL.