【问题标题】:Blade templating engine - custom tags刀片模板引擎 - 自定义标签
【发布时间】:2016-11-07 16:59:01
【问题描述】:

我看到一些关于刀片模板引擎的自定义标签的提及,但找不到刀片的详细文档。

blade 中的 django 模板引擎中是否有类似于 {{ book.name|capfirst }} 的内容?

twig 是一个可以满足我需求的不错的替代品吗?

【问题讨论】:

    标签: laravel laravel-blade


    【解决方案1】:

    如果要将第一个字符设为大写,请使用

    {{ ucfirst($variable) }}
    

    【讨论】:

    • 哦,我可以在标签内使用普通的php吗?
    • 你当然可以调用函数,我猜你可以做更多的事情(小操作)
    • sigh...它在文档的介绍中说刀片不限制使用php。刀片似乎编译成纯php,所以我怀疑有很多限制。
    • 是的,就像 {{$variable}} 被翻译成 <?php echo e($variable); ?> ,我想。仔细检查以确定。
    【解决方案2】:

    您可以创建自定义刀片指令。在App\Providers\AppServiceProvider的启动方法中注册:

    public function boot()
    {
        Blade::directive('ucfirst', function($string) {
            return "<?php echo ucfirst($string); ?>";
        });
    }
    

    然后在您的刀片视图中,您可以执行以下操作:

    <h1> @ucfirst($myString) </h1>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-07
      • 1970-01-01
      • 2014-11-19
      • 1970-01-01
      • 2014-08-05
      • 1970-01-01
      相关资源
      最近更新 更多