Laravel Blade - 自定义助手
Posted
技术标签:
【中文标题】Laravel Blade - 自定义助手【英文标题】:Laravel Blade - custom helper 【发布时间】:2018-11-21 20:28:38 【问题描述】:我有很多数字的表格,我想对所有数字都使用数字格式。所以现在我有这个:
<tbody>
@foreach($table['float']['chips_amount'] as $float)
<tr>
<td class="no-border"></td>
<td class="text-right chip-width"> number_format($float['chips']['value'], 0, ' ', ' ') </td>
<td class="text-right count-width"> $float['count'] </td>
<td class="text-right"> number_format($float['chips']['value'] * $float['count'], 0, ' ', ' ') </td>
</tr>
@endforeach
<tr>
<td class="no-border" colspan="3"></td>
<td class="text-right value-width bold-border"> number_format($table['float']['amount'], 0, ' ', ' ') </td>
</tr>
</tbody>
但我只是在重复相同的函数 number_format(),当有人认为格式不同时可能会出现问题。然后我必须更改表格中的所有格式。我有一些使用 Nette 框架的经验,并且存在我可以拥有自定义助手然后在模板中使用它的选项,即: $anyNumber|myCustomFormat
在管道之后我有自己的自定义助手。 Laravel Blade 模板中有类似的东西吗?我在文档中没有找到任何关于此的内容。
【问题讨论】:
【参考方案1】:您可以创建自己的刀片帮助文件。 创建您的文件(例如在 app/Helpers/bladeHelpers.php 中)并添加代码。例如;
<?php
if (! function_exists('my_custom_number_formt'))
/**
* Format number
*
* @param $value
* @param $attribute
* @param $data
* @return boolean
*/
function my_custom_number_formt($value)
return number_format($value, 0, ' ', ' ');
然后将此文件添加到您的 composer.json 中的 autoload 部分(记得在 psr4 声明中根据您的项目设置命名空间);
... rest of file
"autoload":
"classmap": [
"database"
],
"psr-4":
"App\\": "app/",
"MyApp\\Custom\\": "src/"
,
"files": [
"app/Helpers/bladeHelpers.php"
]
,
... rest of file
注意,此时您可能需要清除缓存。
然后在你的刀片文件中使用;
<td class="text-right chip-width"> my_custom_number_formt($float['chips']['value']) </td>
【讨论】:
以上是关于Laravel Blade - 自定义助手的主要内容,如果未能解决你的问题,请参考以下文章