我有很多数字的表,我想为所有数字使用数字格式。所以我现在有这个:
<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模板中有类似的东西吗?我在文档中没有找到任何相关内容。
答案 0 :(得分: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, ' ', ' ');
}
}
然后将此文件添加到 autoload 部分中的 composer.json (请记住根据psr4声明中的项目设置命名空间);
{
... rest of file
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/",
"MyApp\\Custom\\": "src/"
},
"files": [
"app/Helpers/bladeHelpers.php"
]
},
... rest of file
}
N.B此时您可能想要清除缓存。
然后在您的刀片文件中使用;
<td class="text-right chip-width">{{ my_custom_number_formt($float['chips']['value']) }}</td>