ООП PHP не работает класс? Начал изучать ООП в PHP, написал такой класс:$firstname = $firstname; $this->$lastname = $lastname; } public function GetInfo() { $n = $this->firstname.' '.$this->lastname; return $n; } } $a = new Info('Ivan', 'Pupkin'); echo $a->GetInfo(); ?>
Но вывод $a->GetInfo(); не работает, в чём может быть проблема?
Проблема в вашем коде заключается в неправильном обращении к свойствам объекта в конструкторе и методе GetInfo. Вместо $this->$firstname и $this->$lastname нужно использовать $this->firstname и $this->lastname без лишнего знака $.
Вот исправленный код:
class Info { var $firstname; var $lastname; public function __construct($firstname, $lastname) { $this->firstname = $firstname; $this->lastname = $lastname; } public function GetInfo() { $n = $this->firstname.' '.$this->lastname; return $n; } } $a = new Info('Ivan', 'Pupkin'); echo $a->GetInfo(); ?>
После внесения этих изменений ваш класс должен работать как ожидается.
Проблема в вашем коде заключается в неправильном обращении к свойствам объекта в конструкторе и методе GetInfo. Вместо $this->$firstname и $this->$lastname нужно использовать $this->firstname и $this->lastname без лишнего знака $.
Вот исправленный код:
class Info {var $firstname;
var $lastname;
public function __construct($firstname, $lastname) {
$this->firstname = $firstname;
$this->lastname = $lastname;
}
public function GetInfo() {
$n = $this->firstname.' '.$this->lastname;
return $n;
}
}
$a = new Info('Ivan', 'Pupkin');
echo $a->GetInfo();
?>
После внесения этих изменений ваш класс должен работать как ожидается.