/** * Get the laravel view factory. * * @return Factory */ protected function getViewFactory() { if ($this->factory) { return $this->factory; } $resolver = new EngineResolver(); $resolver->register("blade", function () { if (!is_dir($this->cache)) { mkdir($this->cache, 0777, true); } $blade = new BladeCompiler(new Filesystem(), $this->cache); Blade::extendBlade($blade); return new CompilerEngine($blade); }); $this->factory = new Factory($resolver, $this->getViewFinder(), new Dispatcher()); return $this->factory; }