Webiny\Component\TemplateEngine\Bridge\Smarty\Smarty::registerExtensions PHP Method

registerExtensions() public method

NOTE: This function is automatically called by the class constructor.
public registerExtensions ( )
    public function registerExtensions()
    {
        // register extensions
        $extensions = $this->servicesByTag('Smarty.Extension', '\\Webiny\\Component\\TemplateEngine\\Drivers\\Smarty\\SmartyExtensionInterface');
        /**
         * @var $e SmartyExtensionInterface
         */
        if (count($extensions) > 0) {
            $methods = get_class_methods('\\Webiny\\Component\\TemplateEngine\\Drivers\\Smarty\\SmartyExtensionInterface');
            foreach ($extensions as $e) {
                foreach ($methods as $m) {
                    if ($m != 'getName') {
                        $plugins = $e->{$m}();
                        foreach ($plugins as $p) {
                            $this->registerPlugin($p);
                        }
                    }
                }
            }
        }
    }

Usage Example

Exemplo n.º 1
0
 /**
  * @dataProvider dataProvider
  */
 public function testRegisterExtensions(Smarty $smarty)
 {
     DemoComponent::setConfig(__DIR__ . '/Mocks/DemoComponentConfig.yaml');
     $smarty->registerExtensions();
     $smarty->assign('name', 'WORLD');
     $result = $smarty->fetch('DemoComponent.tpl');
     $this->assertSame('Hello world', $result);
 }