Blame | Letzte Änderung | Log anzeigen | RSS feed
<?phpnamespace Illuminate\View\Engines;use Closure;use InvalidArgumentException;class EngineResolver{/*** The array of engine resolvers.** @var array*/protected $resolvers = [];/*** The resolved engine instances.** @var array*/protected $resolved = [];/*** Register a new engine resolver.** The engine string typically corresponds to a file extension.** @param string $engine* @param \Closure $resolver* @return void*/public function register($engine, Closure $resolver){$this->forget($engine);$this->resolvers[$engine] = $resolver;}/*** Resolve an engine instance by name.** @param string $engine* @return \Illuminate\Contracts\View\Engine** @throws \InvalidArgumentException*/public function resolve($engine){if (isset($this->resolved[$engine])) {return $this->resolved[$engine];}if (isset($this->resolvers[$engine])) {return $this->resolved[$engine] = call_user_func($this->resolvers[$engine]);}throw new InvalidArgumentException("Engine [{$engine}] not found.");}/*** Remove a resolved engine.** @param string $engine* @return void*/public function forget($engine){unset($this->resolved[$engine]);}}