示例#1
0
 public function resolveLayout($route)
 {
     $pieces = explode(ES, $route);
     $layouts = [];
     $default;
     foreach (Memory::get(LAYOUT) as $namespace => $layout) {
         if (strpos('Default', $namespace) !== -1) {
             $default = $layout;
         }
         if (!defined($namespace . '::EVENTS')) {
             continue;
         }
         foreach ($layout::EVENTS as $event) {
             $common = array_intersect($pieces, explode(ES, $event));
             if (count($common) > 1) {
                 $layouts[count($common)] = $layout;
             }
         }
     }
     if (count($layouts) !== 0) {
         ksort($layouts);
         return end($layouts);
     }
     return $default;
 }
示例#2
0
 private function getHelper()
 {
     $helpers = [];
     foreach (Memory::get(HELPER) as $namespace => $helper) {
         $pieces = explode('\\', $namespace);
         $classname = end($pieces);
         $helpers[strtolower($classname)] = function ($text) use($helper) {
             return $helper->render($text);
         };
     }
     return $helpers;
 }
示例#3
0
 public function addHeader(string $key, $value)
 {
     $headers = Memory::get(HTTP)->get(HEADER);
     $headers[$key] = $value;
     Memory::get(HTTP)->set(HEADER, $headers);
 }