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