Мои геттеры и сеттеры php, похоже, работают неправильно. Вот мой код. Файл test.php содержит следующее ...php setter и getter не работают
class test{
private static $instance;
private $name=null;
public static function getInstance(){
if(!isset(test::$instance)) {
test::$instance = new test();
}
return test::$instance;
}
public function setName($n){
$this->name=$n;
}
public function getName(){
return $this->name;
}
test2.php имеет форму, которая запрашивает у пользователя ввести свое имя. Когда они нажимают кнопку «Отправить», у меня есть код, который выглядит так, чтобы установить имя, которое они ввели в имя переменной в тесте.
$test=test::getInstance();
$test->setName("My PHP Test");
print "The name is " . $test->getName() . "<br />;
The name is My PHP Test
распечатан успешно.
Однако, как только они отправляют форму на test2.php, которая берет пользователя на test3.php, и я пытаюсь использовать тот же код для возврата имени, возвращаемое значение равно null.
$test=test::getInstance();
print "The name is " . $test->getName() . "<br />;
The name is
печатается.
Я добавил include('test.php');
в каждый файл, но это не поможет.
Есть ошибки в моем коде? А также это правильный подход в целом? Если не то, что есть?
Любая обратная связь приветствуется. Благодарю.
Может использовать сессии также, но это пятно на – Bankzilla