Subscribed unsubscribe Subscribe Subscribe

PHPerはもっと__toString()を使ったほうがいい

(前回までのあらすじ) 「PHP」とは最近流行の、ドメイン固有言語だったものが汎用化してえげつなくなったスクリプト言語です。

<?php
class StringContainer {
    private $val;

    function __construct($val) { $this->val = $val; }

    function __toString() { return htmlspecialchars($this->val); }
}

$vars = array(
    'a' => '<test>',
    'b' => '<aho>',
    'c' => '<huga>'
);

foreach ($vars as $k => &$v) { $v = new StringContainer($v); }
extract($vars);
?>
<?php #- ここからテンプレートのつもり ?>
<?="--- $a ---" ?>
<?=$b ?>
<?=$c ?>

出力結果

--- &lt;test&gt; ---&lt;aho&gt;&lt;huga&gt;

悪くないじゃん PHP