如何在刀片(laravel 5.3)中设置变量?
Posted
技术标签:
【中文标题】如何在刀片(laravel 5.3)中设置变量?【英文标题】:How to set a variable in blade (laravel 5.3)? 【发布时间】:2017-05-07 13:02:04 【问题描述】:我尝试这样:
...
@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" >
number_format($p3 - $wabku,0,',','.')
</td>
...
但是,它不起作用。
有没有人可以帮助我?
【问题讨论】:
在此处查看解决方案:***.com/questions/13002626/… @Raghavendra N,我尝试这样。但它不起作用 1) 不要这样做。在控制器或视图编辑器中设置变量。 2)如果你绝对必须,只需打开一个 php 标签并保持它尽可能短/干净/简单。实际上,擦掉它。只需遵循#1。 【参考方案1】:您正在使用 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 alternative
【讨论】:
以上是关于如何在刀片(laravel 5.3)中设置变量?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 laravel、vuejs 应用程序中设置 Paystack