Пример #1
0
 /**
  * Register the Blade service.
  *
  * @param Silex\Application $app
  **/
 public function register(Application $app)
 {
     $app['blade.filesystem'] = $app->share(function () {
         return new Filesystem();
     });
     $app['blade.compiler'] = $app->share(function () use($app) {
         return new BladeCompiler($app['blade.filesystem'], $app['blade.settings']['cache']);
     });
     $app['blade.compiler_engine'] = $app->share(function () use($app) {
         return new CompilerEngine($app['blade.compiler'], $app['blade.filesystem']);
     });
     $app['blade.resolver'] = $app->share(function () {
         return new EngineResolver();
     });
     $app['blade.resolver']->register('blade', function () use($app) {
         return $app['blade.compiler_engine'];
     });
     $app['blade.finder'] = $app->share(function () use($app) {
         return new FileViewFinder($app['blade.filesystem'], $app['blade.settings']['views']);
     });
     $app['blade.dispatcher'] = $app->share(function () {
         return new Dispatcher();
     });
     $app['blade'] = $app->share(function ($app) {
         $blade = new Environment($app['blade.resolver'], $app['blade.finder'], $app['blade.dispatcher']);
         $blade->share('app', $app);
         return $blade;
     });
 }
 /**
  * Add a piece of shared data to the environment.
  *
  * @param  string  $key
  * @param  mixed   $value
  * @return void
  */
 public function share($key, $value = null)
 {
     if (!is_array($key)) {
         return parent::share($key, $this->makePresentable($value));
     }
     return parent::share($this->makePresentable($key));
 }
 /**
  * Register Environment
  *
  * @return void
  */
 public function registerEnvironment()
 {
     $this->app['view'] = $this->app->share(function ($app) {
         $resolver = $app['view.engine.resolver'];
         $resource = 'view.';
         $engine = $app['config']->get($resource . 'engine');
         if (empty($engine)) {
             $resource = 'PhpTalView::';
         }
         $finder = new FileViewFinder($app['files'], array());
         $finder->addLocation($app['config']->get($resource . 'templateRepository'));
         $finder->addExtension($app['config']->get($resource . 'extension'));
         $env = new Environment($resolver, $finder, $app['events']);
         $env->addExtension($app['config']->get($resource . 'extension'), 'phptal');
         $env->setContainer($app);
         $env->share('app', $app);
         return $env;
     });
 }
Пример #4
0
 /**
  * Register the view environment.
  *
  * @return void
  */
 public function registerEnvironment()
 {
     $this->app->bindShared('view', function ($app) {
         // Next we need to grab the engine resolver instance that will be used by the
         // environment. The resolver will be used by an environment to get each of
         // the various engine implementations such as plain PHP or Blade engine.
         $resolver = $app['view.engine.resolver'];
         $finder = $app['view.finder'];
         $env = new Environment($resolver, $finder, $app['events']);
         // We will also set the container instance on this view environment since the
         // view composers may be classes registered in the container, which allows
         // for great testable, flexible composers for the application developer.
         $env->setContainer($app);
         $env->share('app', $app);
         return $env;
     });
 }
Пример #5
0
 /**
  * Add a piece of shared data to the environment.
  *
  * @param string $key
  * @param mixed $value
  * @return void 
  * @static 
  */
 public static function share($key, $value = null)
 {
     \Illuminate\View\Environment::share($key, $value);
 }
Пример #6
0
 /**
  * Method to share data across all views
  *
  * @param string $key
  * @param mixed $value
  * @return \iDocrea8\Theme\Theme
  */
 public function share($key, $value)
 {
     $this->view->share($key, $value);
     return $this;
 }