この記事を読んで、Decorator の例に取り組みました。<strong></strong>
期待されるのではなく、コードが返され<strong><a href="logout.php">Logout</a></strong>
ます。
class HtmlLinks {
//some methods which is available to all html links
}
class LogoutLink extends HtmlLinks
{
protected $_html;
public function __construct() {
$this->_html = "<a href=\"logout.php\">Logout</a>";
}
public function setHtml($html) {
$this->_html = $html;
}
public function render() {
echo $this->_html;
}
}
class LogoutLinkStrongDecorator extends HtmlLinks {
protected $_logout_link;
public function __construct( $logout_link ) {
$this->_logout_link = $logout_link;
$this->setHtml("<strong>" . $this->_html . "</strong>");
}
public function __call( $name, $args ) {
$this->_logout_link->$name($args[0]);
}
}
$logout_link = new LogoutLink();
$logout_link = new LogoutLinkStrongDecorator($logout_link);
$logout_link->render();
午後中ずっとデバッグしようとしましたが、何の前進もありませんでした。任意の洞察をいただければ幸いです。