Example #1
0
 /**
  * 批量导入插件
  * @param array $data 插件信息
  * @param boolean $recursive 是否递归合并
  * @return void
  */
 public static function import($data, $recursive = true)
 {
     if (!$recursive) {
         // 覆盖导入
         self::$tags = array_merge(self::$tags, $data);
     } else {
         // 合并导入
         foreach ($data as $tag => $val) {
             if (!isset(self::$tags[$tag])) {
                 self::$tags[$tag] = array();
             }
             if (!empty($val['_overlay'])) {
                 // 可以针对某个标签指定覆盖模式
                 unset($val['_overlay']);
                 self::$tags[$tag] = $val;
             } else {
                 // 合并模式
                 self::$tags[$tag] = array_merge(self::$tags[$tag], $val);
             }
         }
     }
 }