예제 #1
0
 private static function sort()
 {
     if (self::$sorted) {
         return;
     }
     uasort(self::$all, function ($a, $b) {
         if ($a->priority != $b->priority) {
             return $a->priority < $b->priority ? -1 : 1;
         } else {
             return strcasecmp($a->name, $b->name);
         }
     });
     foreach (self::$all as $name => $group) {
         usort($group->render, function ($a, $b) {
             if ($a[0] != $b[0]) {
                 return $a[0] < $b[0] ? -1 : 1;
             }
             if ($a[1] != $b[1]) {
                 return $a[1] < $b[1] ? -1 : 1;
             }
             return 0;
         });
     }
     self::$sorted = true;
 }