如何使用TwigBridge在laravel中使用自定义树枝功能

时间:2013-05-07 09:36:24

标签: php twig laravel

我正在使用带有TwigBridge的laravel的树枝。我想在树枝模板中注册一个自定义函数。

文档说明可以通过扩展阵列添加扩展,但这对我来说并不清楚。

文档指的是什么扩展数组?

2 个答案:

答案 0 :(得分:15)

我遵循的流程是:

  1. app/extensions/twig/TwigFilters.php创建我的过滤器类:

    namespace App\Extensions\Twig;
    
    class TwigFilters extends \Twig_Extension {
        //... filters implementation
    }
    
  2. 将过滤器文件夹添加到composer.json autoload > classmap

    "autoload": {
        "classmap": [
            ...
            "app/extensions/twig",
            ...
        ]
    },
    
  3. 更新自动加载器:php composer.phar dump-autoload

  4. app/config/packages/rcrowe/twigbridge/config.php创建TwigBridge配置:

    php artisan config:publish rcrowe/twigbridge
    
  5. 编辑先前创建的config.php上的extensions键:

    'extensions' => array(
        ...
        'App\Extensions\Twig\TwigFilters',
        ...
    )
    
  6. 该类中定义的所有过滤器都已在Twig视图中提供。

  7. 其他信息:

答案 1 :(得分:2)

在配置文件中引用的是this array。您应该使用php artisan config:publish rcrowe/twigbridge将配置发布到 app / ,然后编辑该数组。正如您在同一个配置文件中看到的那样,您还可以添加别名。

您可以使用扩展\TwigBridge\Extension的自定义函数创建一个类,然后将其添加到您的配置中。