DocTest

haltさんとこ経由
http://project-p.jp/halt/anubis/blog_show/1072


Maple4_Utils_Fileっていうファイルとパスを操作するクラスは
一応自分で作ったので見てた。
すごく微々たるところで、人によりけりなんだろう思うけど

    public function setIgnore($path)
    {
        if (is_array($path)) {
            $this->ignore = array_merge($this->ignore, $path);
        } else {
            $this->ignore[] = $path;
        }
    }

PHPって値が配列かそうじゃないかで操作がわかれがちだとおもうけど、
常に配列にしておいた方がその後で考えることがすっきりする気がするので。

    public function setIgnore($path)
    {
        if (!is_array($path)) {
            $path = array($path);
        }
        //必要ならこれもか
        // if (!is_array($this->ignore)) $this->ignore = array();
        $this->ignore = array_merge($this->ignore, $path);
    }

こういう場合はやっぱ強制的に値を配列にしてくれるユーティリティ(関数が使いやすい?)があるといいのか。

    function a()
    {
        if (($num = func_num_args()) === 1) {
            $arg = func_get_arg(0);
            return (is_array($arg))? $arg: array($arg);
        } else if (1 < $num) {
            return func_get_args();
        } else {
            return array();
        }
    }

    public function setIgnore($path)
    {
        //必要ならこれもか
        // if (!is_array($this->ignore)) $this->ignore = array();
        $this->ignore = array_merge($this->ignore, a($path));
    }