Я пытаюсь выучить ООП и задать несколько вопросов. Я прочитал первые несколько глав в PHP Objects, Patterns and Practice , а также следующие посты; Nettuts + , PHP Freaks и PHPRO .
- В дочернем классе должен ли конструктор перечислять переменные, которые уже существуют в родительском классе?
- Когда я получаю свойство в моих методах (или других местах), зачем мне заключать значения в фигурные скобки (т. Е. {$ This-> id})? *
- Кроме того, если у кого-то есть какой-либо совет (например, что я делаю неправильно), я открыт для любой критики.
class Element {
public $tag;
public $id;
function __construct( $tag, $id ) {
$this->tag = $tag;
$this->id = $id;
}
public function getAttributes() {
return "id='{$this->id}'";
}
}
class NormalElement extends Element {
public $text;
function __construct( $tag, $id, $text ) {
parent::__construct( $tag, $id );
$this->text = $text;
}
public function getElement() {
return "<{$this->tag}>{$this->text}</{$this->tag}>";
}
}
class VoidElement extends Element {
function __construct( $tag, $id ) {
parent::__construct( $tag, $id );
}
public function getElement() {
return "<{$this->tag} " . parent::getAttributes() . " />";
}
}
Я потратил некоторое время, пытаясь заставить мой код правильно отображаться в этом посте, но он продолжает ломаться.