Ejemplo n.º 1
0
 /**
  * この要素に複数の属性を一括して設定します.
  * <code>
  * $element->setAttributes(array("id" => "foo", "class" => "bar"));
  * </code>
  * のように, キーに属性名, 値に属性の値を指定してください.
  * 
  * キーが省略された場合 (具体的にはキーに整数が指定された場合) は,
  * その値を属性名とする Boolean 属性を設定します.
  * 
  * @param array|ArrayMap $attr 属性の一覧
  */
 public function setAttributes($attr)
 {
     if ($attr instanceof ArrayMap) {
         $this->setAttributes($attr->asArray());
         return;
     }
     if (!is_array($attr)) {
         throw new InvalidArgumentException("Array required.");
     }
     foreach ($attr as $key => $value) {
         if (is_numeric($key)) {
             $attrName = $value;
             $attrValue = null;
         } else {
             $attrName = $key;
             $attrValue = $value;
         }
         $this->setAttribute($attrName, $attrValue);
     }
 }