Create an instance of an TemplateEngine driver.
public static getInstance ( string $engineName, |
||
$engineName | string | Name of the template engine for which to load the instance. |
$config | Template engine config. | |
return | Webiny\Component\TemplateEngine\Bridge\TemplateEngineInterface |
/** * Returns an instance of template engine driver. * If the requested driver is already created, the same instance is returned. * * @param string $driver Name of the template engine driver. Must correspond to components.template_engine.engines.{$driver}. * * @return \Webiny\Component\TemplateEngine\Bridge\TemplateEngineInterface * @throws TemplateEngineException * @throws \Exception */ static function getInstance($driver) { if (isset(self::$instances[$driver])) { return self::$instances[$driver]; } $driverConfig = TemplateEngine::getConfig()->get('Engines.' . $driver, false); if (!$driverConfig) { throw new TemplateEngineException('Unable to read driver configuration: TemplateEngine.Engines.' . $driver); } try { self::$instances[$driver] = TemplateEngineBridge::getInstance($driver, $driverConfig); return self::$instances[$driver]; } catch (\Exception $e) { throw $e; } }
/** * @expectedException \Webiny\Component\TemplateEngine\Bridge\TemplateEngineException */ public function testGetInstanceException() { TemplateEngine::getInstance('Fake', new ConfigObject([])); }