• how to add variable in blade template?


    question?

    I'm reading Laravel Blade's templating docs and I can't find how I can assign variables inside a template for use later in the template. I can't do

    {{ $old_section = "whatever" }}
       because that will echo "whatever" and I don't want that.

    I see that I can do

    <?php $old_section = "whatever"; ?>
    but that's not elegant.

    answer

    You can put it in your application/start.php or if you will have more things like this put it in a separate file and include it there. Laravel is very loose in this way, you could even put thin a controller. The only thing you have to do these extends before the view is rendered.

    <?php
    /**
     * <code>
     * {? $old_section = "whatever" ?}
     * </code>
     */
    Blade::extend(function($value) {
        return preg_replace('/{?(.+)?}/', '<?php ${1} ?>', $value);
    });

    answer

    In laravel-4, you can use the template comment syntax to define/set variables.

    Comment syntax is {{-- anything here is comment --}} and it is rendered by blade engine as

    <?php /* anything here is comment */ ?>

    so with little trick we can use it to define variables, for example

    {{-- */$i=0;/* --}}

    will be rendered by bladeas

    <?php /* */$i=0;/* */ ?>
    which sets the variable for us. Without changing any line of code.
  • 相关阅读:
    mysql基础
    协程
    锁与队列
    线程练习
    线程
    并发编程
    进程
    操作系统发展史
    第六周----例行报告
    附加题找bug
  • 原文地址:https://www.cnblogs.com/mumutouv/p/4233193.html
Copyright © 2020-2023  润新知