我的功能是这样的:
function romanic_number($integer, $upcase = true)
{
$table = array('M'=>1000, 'CM'=>900, 'D'=>500, 'CD'=>400, 'C'=>100, 'XC'=>90, 'L'=>50, 'XL'=>40, 'X'=>10, 'IX'=>9, 'V'=>5, 'IV'=>4, 'I'=>1);
$return = '';
while($integer > 0)
{
foreach($table as $rom=>$arb)
{
if($integer >= $arb)
{
$integer -= $arb;
$return .= $rom;
break;
}
}
}
return $return;
}
我想要的是,我可以像这样访问:
{{ romanic_number(2) }}
结果:II
我将自定义函数放在哪里进行查看?
我尝试将自定义函数放在控制器中,但它失败了
更新
我在文件夹app中制作文件夹助手。然后我在Helpers文件夹中创建文件helper.php(mysystem / app / Helpers / helper.php)
我说这个:
<?php
if (! function_exists('romanic_number'))
{
function romanic_number($integer, $upcase = true)
{
...
return $return;
}
}
我在composer.json中添加“app / Helpers / helper.php”,如下所示:
"autoload": {
"psr-4": {
"Illuminate\\Support\\": ""
},
"files": [
"helpers.php",
"app/Helpers/helper.php"
]
},
然后我运行composer dump-autoload
存在这样的错误:
Call to undefined function romanic_number() (View: C:\xampp\htdocs...
答案 0 :(得分:3)
在文件夹helpers.php
中创建一个名为app/Helpers
的文件(首先必须创建Helpers
文件夹),将所有功能放在该文件中。
然后告诉作曲家composer.json
中的这个文件为:
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
},
"files": [
"app/Helpers/helper.php",
]
},
然后执行composer dump-autoload
,您可以在视图或其他任何地方使用它。
例如在视图中:
{{ romanic_number(2) }}
答案 1 :(得分:2)
你可以create custom helpers.php
file并在那里定义所有助手:
if (! function_exists('romanic_number')) {
function romanic_number($value)
{
$romanic = ....;
return $romanic;
}
}
然后将其添加到composer.json
,以便Laravel可以自动加载它:
"autoload": {
....
"files": [
"app/someFolder/helpers.php"
]
},
答案 2 :(得分:1)
您可以创建自己的自定义帮助程序。创建CustomHelper.php
文件并在那里添加您的功能&amp;包含在composer.json
文件中,如下所示
"autoload": {
...
"psr-4": {
"App\\": "app/"
},
"files" : [
"app/CustomHelper.php"
...
]
}