コード例 #1
0
 /**
  * {@inheritdoc}
  */
 public function register(ContainerInterface $app)
 {
     $app->closure(Twig_Environment::class, function () {
         $loader = new Twig_Loader_Filesystem(path(config('view.path')));
         $options = [];
         $cachePath = config('view.cache');
         if ($cachePath) {
             $options['cache'] = path($cachePath);
         }
         return new Twig_Environment($loader, $options);
     });
     $app->closure(RenderInterface::class, function ($app) {
         return new TwigView($app[Twig_Environment::class]);
     });
 }
コード例 #2
0
 /**
  * {@inheritdoc}
  */
 public function register(ContainerInterface $app)
 {
     $app->closure(Engine::class, function () {
         $engine = new Engine();
         $engine->setLoader(new FileLoader());
         $cachePath = config('view.cache');
         if ($cachePath) {
             $engine->setTempDirectory(path($cachePath));
         }
         return $engine;
     });
     $app->closure(RenderInterface::class, function ($app) {
         return new LatteView($app[Engine::class], path(config('view.path')));
     });
 }
コード例 #3
0
 /**
  * {@inheritdoc}
  */
 public function register(ContainerInterface $app)
 {
     $app->closure(ValidatorFactory::class, function () {
         return validator();
     });
     $app->alias('validator', ValidatorFactory::class);
 }
コード例 #4
0
 public function register(ContainerInterface $app)
 {
     $app->closure(PheanstalkInterface::class, function ($app) {
         return new Pheanstalk(config('queue.host', '127.0.0.1'), config('queue.port', Pheanstalk::DEFAULT_PORT), config('queue.timeout'), config('queue.connect_persistent', false));
     });
     $app->bind(SerializerInterface::class, PhpSerializer::class);
     $app->bind(AdapterInterface::class, BeanstalkdAdapter::class);
 }
コード例 #5
0
 /**
  * {@inheritdoc}
  */
 public function register(ContainerInterface $app)
 {
     $app->closure(Dispatcher::class, function ($container) {
         return new Dispatcher($container);
     });
     $app->alias(DispatcherInterface::class, Dispatcher::class);
     $app->alias('event', Dispatcher::class);
 }
コード例 #6
0
ファイル: RouterProvider.php プロジェクト: Festiv/Festiv
 public function register(ContainerInterface $app)
 {
     $app->bind(ClassLoaderInterface::class, WanduLoader::class);
     $app->closure(Dispatcher::class, function (ContainerInterface $app) {
         return new Dispatcher($app[ClassLoaderInterface::class], ['virtual_method_disabled' => false, 'cache_disabled' => $app['config']->get('router.cache_disabled', true), 'cache_file' => $app['config']->get('router.cache_file', null)]);
     });
     $app->alias('router', Dispatcher::class);
 }
コード例 #7
0
ファイル: SessionProvider.php プロジェクト: Festiv/Festiv
 public function register(ContainerInterface $app)
 {
     $app->bind(CookieJarFactory::class);
     $app->closure(SessionAdapterInterface::class, function (ContainerInterface $app) {
         switch ($app['config']->get('session.type')) {
             case "file":
                 return new FileAdapter($app['config']->get('session.path'), $app['config']->get('session.timeout', 7200));
             case "global":
                 return new GlobalAdapter();
             case "redis":
                 return new RedisAdapter(new Client($app['config']->get('session.path')), $app['config']->get('session.timeout', 7200));
         }
         throw new RuntimeException("unknown session type.");
     });
     $app->closure(SessionFactory::class, function (ContainerInterface $app) {
         return new SessionFactory($app[SessionAdapterInterface::class], ['timeout' => $app['config']->get('session.timeout', 7200), 'name' => $app['config']->get('session.name', "FestivSessId")]);
     });
 }
コード例 #8
0
 public function register(ContainerInterface $app)
 {
     $app->bind(ClassLoaderInterface::class, WanduLoader::class);
     $app->bind(ResponsifierInterface::class, WanduResponsifier::class);
     $app->closure(Configuration::class, function () {
         return new Configuration(['middleware' => config('router.middleware', [Parameterify::class, Sessionify::class]), 'virtual_method_enabled' => true, 'cache_disabled' => config('router.cache_disabled', true), 'cache_file' => path(config('router.cache_file', null))]);
     });
     $app->bind(Dispatcher::class);
     $app->alias('router', Dispatcher::class);
 }
コード例 #9
0
ファイル: HttpProvider.php プロジェクト: Festiv/Festiv
 public function register(ContainerInterface $app)
 {
     $app->bind(ServerRequestFactory::class);
     $app->bind(UploadedFileFactory::class);
     $app->bind(ResponseFactory::class);
     $app->bind(ResponseSender::class);
     $app->closure(Uploader::class, function (ContainerInterface $app) {
         return new Uploader($app['config']->get('file.upload'));
     });
 }
コード例 #10
0
ファイル: HttpServiceProvider.php プロジェクト: wandu/http
 /**
  * {@inheritdoc}
  */
 public function register(ContainerInterface $app)
 {
     $app->closure(ResponseFactory::class, function () {
         return response();
         // singleton
     });
     $app->closure(SessionFactory::class, function ($app) {
         return new SessionFactory($app[SessionHandlerInterface::class], ['timeout' => config('session.timeout', 3600), 'name' => config('session.name', ini_get('session.name') ?: 'WdSessId'), 'gc_frequency' => config('session.gc_frequency', 100)]);
     });
     $app->closure(SessionHandlerInterface::class, function ($app) {
         switch (config('session.type')) {
             case 'file':
                 return new FileHandler(path(config('session.path', 'cache/sessions')));
             case 'redis':
                 return new RedisHandler($app[Client::class], config('session.timeout', 3600));
             default:
                 return new GlobalHandler();
         }
     });
 }
コード例 #11
0
ファイル: DatabaseProvider.php プロジェクト: Festiv/Festiv
 public function register(ContainerInterface $app)
 {
     $app->closure(Capsule::class, function (ContainerInterface $app) {
         $capsule = new Capsule();
         foreach ($app['config']->get('database.connections') as $name => $connection) {
             $capsule->addConnection($connection, $name);
         }
         return $capsule;
     });
     $app->alias('db', Capsule::class);
 }
コード例 #12
0
 public function register(ContainerInterface $app)
 {
     $app->closure(Logger::class, function (ContainerInterface $app) {
         $logger = new Logger('wandu');
         if ($path = config('log.path')) {
             $logger->pushHandler(new StreamHandler(Foundation\path($path)));
         }
         return $logger;
     });
     $app->alias(LoggerInterface::class, Logger::class);
     $app->alias('log', Logger::class);
 }
コード例 #13
0
ファイル: LoggerProvider.php プロジェクト: Festiv/Festiv
 public function register(ContainerInterface $app)
 {
     $app->closure(Logger::class, function (ContainerInterface $app) {
         $logger = new Logger('festiv');
         if ($app['config']->get('log.path')) {
             $logger->pushHandler(new StreamHandler($app['config']->get('log.path')));
         }
         return $logger;
     });
     $app->alias(LoggerInterface::class, Logger::class);
     $app->alias('log', Logger::class);
 }
コード例 #14
0
 /**
  * {@inheritdoc}
  */
 public function register(ContainerInterface $app)
 {
     $app->closure(Manager::class, function () {
         $capsule = new Manager();
         foreach (config('database.connections', []) as $name => $connection) {
             $capsule->addConnection($connection, $name);
         }
         return $capsule;
     });
     $app->alias('database', Manager::class);
     $app->bind(MigrateTemplateInterface::class, MigrateTemplate::class);
     $app->bind(MigrateAdapterInterface::class, MigrateAdapter::class);
 }
コード例 #15
0
 /**
  * {@inheritdoc}
  */
 public function register(ContainerInterface $app)
 {
     $app->closure(RenderInterface::class, function () {
         return new PhpView(path(config('view.path')));
     });
 }
コード例 #16
0
ファイル: ViewProvider.php プロジェクト: Festiv/Festiv
 public function register(ContainerInterface $app)
 {
     $app->closure(RenderInterface::class, function (ContainerInterface $app) {
         return new GreenTeaLatte($app['config']->get('view.path'), $app['config']->get('view.cache'));
     });
 }
コード例 #17
0
 /**
  * {@inheritdoc}
  */
 public function register(ContainerInterface $app)
 {
     $app->closure(Configuration::class, function () {
         return new Configuration(['connection' => config('database.migrator.connection'), 'table' => config('database.migrator.table'), 'path' => path(config('database.migrator.path'))]);
     });
 }