Пример #1
0
 /**
  *
  * @param Resources $context
  * @return self
  */
 public static function generate(Resources $context)
 {
     $request = $context->getRequest();
     $config = $context->config('session');
     // Sets the cookie path (aka session namespace)
     $site = $config->value('site');
     $path = rtrim($request->getRoot(), '/') . '/';
     // Creates the save handler
     $key = trim($config->value('save_handler'));
     $pre = substr($key, 0, 1);
     if ($pre == '#') {
         $resource = trim(substr($key, 1));
         $handler = $context->get($resource);
     } elseif ($key) {
         if ($pre == '~') {
             $key = static::getDefaultNamespace() . '\\' . trim(substr($key, 1));
         }
         $handler = $context->create($key);
     } else {
         $handler = null;
     }
     if ($handler instanceof DbSaveHandler) {
         $handler->setSite($site)->setPath($path);
     }
     // Create the manager and registers the save handler
     $manager = new static();
     if ($handler) {
         $manager->registerSaveHandler($handler);
     }
     return $manager;
 }
Пример #2
0
 /**
  * @param Resources $context
  * @return Closure
  */
 public static function getUriFactory($context)
 {
     return function () use($context) {
         $router = $context->get('router');
         $request = $context->getRequest();
         $base = $request->getRoot();
         $gen = new UriFactory();
         $gen->setBase($base)->setRouter($router);
         return $gen;
     };
 }