如何在 laravel 4 的 Blade.php 模板中使用静态函数?
Posted
技术标签:
【中文标题】如何在 laravel 4 的 Blade.php 模板中使用静态函数?【英文标题】:How do I use a static function in blade.php tempate in laravel 4? 【发布时间】:2013-06-07 18:24:35 【问题描述】:我有一个类公共静态方法,它获取一些数据库信息并返回一个整数。在控制器中,我可以很好地调用该方法。如何在刀片模板中调用该静态方法?
例如:
@foreach ($tasks as $task)
Task::percentComplete($task->id)%<br />
@endforeach
谢谢
【问题讨论】:
【参考方案1】:一种不成熟的方法就是将 php 嵌入到刀片模板中,至少在 Laravel 4.0 中是这样;我将一个写得很糟糕的旧项目迁移到 laravel。我遇到的问题数量和时间限制让我不知所措,我没有时间寻找更好的方法来解决问题。我做了一堆 html 表单,总共大约 30k 行代码。
<?php
$haystack=Session::get('orderInfo.form.conditions',array());
?>
那么你就可以正常访问你的数据了:
in_array('Special Assignments',$haystack)?'checked="checked"':''
这对我有用。
注意:为了记录,只需加上我的 2 美分。有 正如接受的答案所述,更好、更清洁的方法。
【讨论】:
【参考方案2】:你也可以
A- 让它成为一个门面:http://laravel.com/docs/facades
B- 将其移动到帮助程序/库中:https://***.com/a/13481218/2446119
我个人认为帮助程序和库更容易和更快地编写代码,但外观更干净。
【讨论】:
这里还有一个不错的资源:@987654323@以上是关于如何在 laravel 4 的 Blade.php 模板中使用静态函数?的主要内容,如果未能解决你的问题,请参考以下文章
在带有 Blade 的 Laravel 4 中看不到内容视图中的变量
Laravel 5.4 - 如何在 javascript 加载之前使 @section 屈服