public function registerBladeEngine($resolver)
 {
     parent::registerBladeEngine($resolver);
     $this->app->singleton('blade.compiler', function ($app) {
         return $app->make(BladeCompiler::class);
     });
 }
 /**
  * Register any application services.
  * @return void
  */
 public function register()
 {
     $this->app->singleton('theme', function () {
         $theme = new ThemeModel();
         return $theme;
     });
     return parent::register();
 }
示例#3
0
 public function testCanCompileBladeTags()
 {
     // Bind ViewProvider
     $this->app['events'] = Mockery::mock('Illuminate\\Events\\Dispatcher');
     $this->app['config']->set('view.paths', array('views'));
     $viewProvider = new ViewServiceProvider($this->app);
     $viewProvider->registerEngineResolver();
     $viewProvider->registerViewFinder();
     if (method_exists($viewProvider, 'registerEnvironment')) {
         $viewProvider->registerEnvironment();
     } else {
         $viewProvider->registerFactory();
     }
     // Register tags
     $this->app['flatten.templating']->registerTags();
     $blade = $this->app['view']->getEngineResolver()->resolve('blade')->getCompiler();
     $this->assertEquals("<?php echo Flatten\\Facades\\Flatten::section('section', 512, function() { ?>", $blade->compileString("@cache('section', 512)"));
     $this->assertEquals("<?php echo Flatten\\Facades\\Flatten::section('section', function() { ?>", $blade->compileString("@cache('section')"));
     $this->assertEquals("<?php }); ?>", $blade->compileString("@endcache"));
 }
示例#4
0
 /**
  * Override the parent's register function
  * to add our own functionality!
  *
  * @return void
  */
 public function register()
 {
     $this->app->bind('themer', function ($app) {
         return new Themer($app);
     });
     $this->app->bind('themer.metadata', function ($app) {
         return new MetaData();
     });
     $this->registerGenerateCommand();
     parent::register();
     // $this->registerThemeViewPaths();
     $this->registered = true;
 }
 /**
  * Register the service provider.
  *
  * @return void
  */
 public function register()
 {
     // This is only for the template system.
     $templateIdString = '';
     $templateIdsArray = $this->app['config']->get('template.templateIds');
     if (is_array($templateIdsArray) && !empty($templateIdsArray) && !empty($_SERVER['HTTP_HOST'])) {
         $templateIdString = array_search($_SERVER['HTTP_HOST'], $templateIdsArray);
         $templateIdString .= '/';
     }
     define('TEMPLATE_ID', $templateIdString);
     //$this->package('niterain/PhpTalView', 'PhpTalView', __DIR__.'/../../');
     parent::register();
 }
示例#6
0
 public function register()
 {
     parent::register();
     $this->registerCommands();
 }
<?php

require __DIR__ . '/vendor/autoload.php';
use Illuminate\Container\Container;
use Illuminate\Events\Dispatcher;
use Illuminate\Filesystem\Filesystem;
use Illuminate\Support\Facades\Facade;
use Illuminate\Support\Facades\View;
use Illuminate\Support\Fluent;
use Illuminate\View\ViewServiceProvider;
$app = new Container();
$app['events'] = new Dispatcher();
$app['config'] = new Fluent();
$app['files'] = new Filesystem();
$app['config']['view.paths'] = [__DIR__ . '/views/'];
$app['config']['view.compiled'] = __DIR__ . '/compiled/';
$serviceProvider = new ViewServiceProvider($app);
$serviceProvider->register();
$serviceProvider->boot();
Facade::setFacadeApplication($app);
class_alias(View::class, 'View');
 /**
  * Override the view finder used by Laravel to be our Theme view finder.
  *
  * @return void
  */
 protected function overrideViewFinder()
 {
     $originalViewFinder = $this->app['view.finder'];
     $this->app['view.finder'] = $this->app->share(function ($app) use($originalViewFinder) {
         $paths = array_merge($app['config']['view.paths'], $originalViewFinder->getPaths());
         $viewFinder = new IlluminateViewFinder($app['files'], $paths, $originalViewFinder->getExtensions());
         $viewFinder->setThemeBag($app['themes']);
         foreach ($originalViewFinder->getPaths() as $location) {
             $viewFinder->addLocation($location);
         }
         foreach ($originalViewFinder->getHints() as $namespace => $hints) {
             $viewFinder->addNamespace($namespace, $hints);
         }
         return $viewFinder;
     });
     // Now that we have overridden the "view.finder" IoC offest, we
     // need to re-register the factory as we cannot reset it
     // on the Factory at runtime, yet.
     $viewServiceProvider = new ViewServiceProvider($this->app);
     $viewServiceProvider->registerFactory();
 }
示例#9
0
 /** @inheritdoc */
 public function registerFactory()
 {
     parent::registerFactory();
     return $this;
 }
 public function register()
 {
     parent::register();
     $this->registerEnvironment();
     $this->registerBladeExtensions();
 }