繁体   English   中英

如何在刀片中设置变量(laravel 5.3)?

[英]How to set a variable in blade (laravel 5.3)?

我试着这样:

...

    @if(is_null($key['p3']))
        {{--*/$p3 = $key['p3']/*--}}
    @else
        {{ 0 }}
    @endif
    @if(is_null($key['wabku']))
        {{--*/$wabku = $key['wabku']/*--}}
    @else
        {{ 0 }}
    @endif
    <td class="tg-rv4w" width="5%">
        {{ number_format($p3 - $wabku,0,',','.') }}
    </td>

...

但是,它没有用。

有没有人可以帮助我?

您正在使用laravel-4模板注释语法来定义/设置可能不适用于L5.x的变量。

但你可以尝试@php ($p3 = $key['p3'])

要么

@php
$p3 = $key['p3']
@endphp

以上两者都是一样的。

您还可以使用创建自己的服务提供商,例如 1创建BladeServiceProvider

<?php 
//app/Providers/BladeServiceProvider.php
namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class BladeServiceProvider extends ServiceProvider
{
    public function boot()
    {
        /* @datetime($var) */
        \Blade::extend(function($view, $compiler)
        {
            $pattern = $compiler->createOpenMatcher('datetime');

            return preg_replace($pattern, '$1<?php echo $2->format(\'m/d/Y H:i\')); ?>', $view);
        });

        /* @eval($var++) */
        \Blade::extend(function($view)
        {
            return preg_replace('/\@eval\((.+)\)/', '<?php ${1}; ?>', $view);
        });
    }

    public function register()
    {
        //
    }
}

2注册BladeServiceProvider

<?php
//in config/app.php add
return [

    // ...

    'providers' => [

        // ...

        'App\Providers\BladeServiceProvider',

清除artisan clear-compiled赋值给变量@datetime($updated_at)

要么

@eval($var = 1)

参考来自: Laravel 5替代品

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM