src/Peach/Markup/HelperObject.php
public function attr()
    {
        $node  = $this->node;
        if (!($node instanceof Element)) {
            return $this;
        }
        
        $count = func_num_args();
        if (!$count) {
            return $this;
        }
        
        $args  = func_get_args();
        $first = $args[0];
        if (($first instanceof ArrayMap) || is_array($first)) {
            $node->setAttributes($first);
        } else {
            $second = (1 < $count) ? $args[1] : null;
            $node->setAttribute($first, $second);
        }
        return $this;
    }
public function attr()
    {
        $node  = $this->node;
        if (!($node instanceof Element)) {
            return $this;
        }
        
        $count = func_num_args();
        if (!$count) {
            return $this;
        }
        
        $args  = func_get_args();
        $first = $args[0];
        if (($first instanceof ArrayMap) || is_array($first)) {
            $node->setAttributes($first);
        } else {
            $second = (1 < $count) ? $args[1] : null;
            $node->setAttribute($first, $second);
        }
        return $this;
    }
public function attr ( ) { $ node = $ this -> node ; if ( ! ( $ node instanceof Element ) ) { return $ this ; } $ count = func_num_args ( ) ; if ( ! $ count ) { return $ this ; } $ args = func_get_args ( ) ; $ first = $ args [ 0 ] ; if ( ( $ first instanceof ArrayMap ) || is_array ( $ first ) ) { $ node -> setAttributes ( $ first ) ; } else { $ second = ( 1 < $ count ) ? $ args [ 1 ] : null ; $ node -> setAttribute ( $ first , $ second ) ; } return $ this ; }
{@link Element::setAttribute()}
および
{@link Element::setAttributes()}
の糖衣構文です.
引数が配列の場合は setAttributes() を実行し,
引数が 1 つ以上の文字列の場合は setAttribute() を実行します.
もしもこのオブジェクトがラップしているノードが Element ではなかった場合,
このメソッドは何も行いません.

jQuery のようなメソッドチェインを実現するため, このオブジェクト自身を返します.

@param  string|array|ArrayMap $var セットする属性
@return HelperObject               このオブジェクト自身
{ @link Element :: setAttribute () } および { @link Element :: setAttributes () } の糖衣構文です . 引数が配列の場合は setAttributes () を実行し 引数が 1 つ以上の文字列の場合は setAttribute () を実行します . もしもこのオブジェクトがラップしているノードが Element ではなかった場合 このメソッドは何も行いません .