Я пытаюсь создать базовый класс, в котором хранится переменная строки имени. Проблема в том, что функция setName работает некорректно для меня. Я получаю сообщение об ошибке:PHP class setName function
Catchable фатальная ошибка: Метод TesterClass :: __ ToString() должна возвращать значение строки в C: \ XAMPP \ HTDOCS \ CA18 \ testerPage.php на линии 12
Я пробовал много различные способы сделать это, но ничего, кажется, чтобы исправить это: код выглядит следующим образом:
<?php
\t class TesterClass
\t {
\t \t public $name;
\t \t
\t \t public function setName($n)
\t \t {
\t \t \t $name = $n;
\t \t }
\t \t public function __toString()
\t \t {
\t \t \t return $this->name;
\t \t }
\t \t public function __construct()
\t \t {
\t \t \t $numArgs = func_num_args();
\t \t \t $args = func_get_args();
\t \t \t if ($numArgs == 0)
\t \t \t {
\t \t \t \t setName($args[0]);
\t \t \t }
\t \t }
\t }
?>
Вот реализация класса:
<!DOCTYPE html>
<html lang="en">
\t <head>
\t \t <meta charset="utf-8">
<title>Payroll</title> \t \t \t
</head>
<body>
\t \t <h1>Payroll</h1>
\t \t <?php
\t \t \t require "TesterClass.php";
\t \t \t $myObject = new TesterClass("Philllip");
\t \t \t echo $myObject;
\t \t ?>
</body>
</html>
Спасибо!
Должно ли это быть $ this-> name = $ n в setName? – Hammerstein