%PDF- %PDF-
Direktori : /home/silvzytp/calling_code/vendor/laravel/framework/src/Illuminate/View/Engines/ |
Current File : //home/silvzytp/calling_code/vendor/laravel/framework/src/Illuminate/View/Engines/EngineResolver.php |
<?php namespace 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]); } }