当前位置: 首页>>代码示例>>PHP>>正文


PHP CList::mergeWith方法代码示例

本文整理汇总了PHP中CList::mergeWith方法的典型用法代码示例。如果您正苦于以下问题:PHP CList::mergeWith方法的具体用法?PHP CList::mergeWith怎么用?PHP CList::mergeWith使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CList的用法示例。


在下文中一共展示了CList::mergeWith方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getStaticEventHandlersAll

 private function getStaticEventHandlersAll($class, $event)
 {
     $inspectedClass = $class;
     $eventHandlers = false;
     do {
         $additionalEventHandlers = $this->getStaticEventHandlersStrict($inspectedClass, $event);
         if ($additionalEventHandlers !== false) {
             if ($eventHandlers === false) {
                 $eventHandlers = new CList();
                 $eventHandlers->copyFrom($additionalEventHandlers);
             } else {
                 $eventHandlers->mergeWith($additionalEventHandlers);
             }
         }
         $inspectedClass = get_parent_class($inspectedClass);
     } while ($inspectedClass !== false && $this->componentHasEvent($inspectedClass, $event));
     return $eventHandlers;
 }
开发者ID:bwoester,项目名称:yii-static-events-component,代码行数:18,代码来源:EventRegistry.php

示例2: findRecursive

 public static function findRecursive($dir, $filters = NULL, $depth = -1, $limit = 0)
 {
     if (!$filters instanceof EFileFilters) {
         $filters = new EFileFilters($filters);
     }
     $list = new CList();
     //TODO: $dir = new DirectoryIterator(dirname(__FILE__)); foreach ($dir as $fileinfo) {}
     $handle = opendir($dir);
     while (($fileName = readdir($handle)) !== FALSE) {
         if ($limit > 0 && $list->count >= $limit) {
             break;
         }
         if ($fileName === '.' || $fileName === '..') {
             continue;
         }
         $file = EFile::getInstance($dir . DIRECTORY_SEPARATOR . $fileName);
         //TODO: подумать о сортировке прямо в цикле поиска
         if ($filters->run($file)) {
             if ($file->isDir && $depth) {
                 $list->mergeWith(self::findRecursive($file->path, $filters, $depth - 1, $limit - $list->count));
             } else {
                 $list->add($file);
             }
         }
     }
     closedir($handle);
     return $list;
 }
开发者ID:sinelnikof,项目名称:yiiext,代码行数:28,代码来源:EFile.php


注:本文中的CList::mergeWith方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。