我将要在视图中访问的自定义函数放在哪里 (laravel 5.3)?
Where I put my custom functions to be accessed in view (laravel 5.3)?
我的函数是这样的:
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) }}
结果:二
我将要访问的自定义函数放在视图中的什么位置?
我尝试将我的自定义函数放入控制器中,但失败了
更新
我在文件夹应用程序中制作文件夹助手。然后我在文件夹 Helpers (mysystem/app/Helpers/helper.php)
中创建文件 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...
您可以创建自己的自定义助手。创建 CustomHelper.php
文件并在其中添加您的函数并包含在 composer.json
文件中,如下所示
"autoload": {
...
"psr-4": {
"App\": "app/"
},
"files" : [
"app/CustomHelper.php"
...
]
}
在文件夹 app/Helpers
中创建一个名为 helpers.php
的文件(首先您必须创建 Helpers
文件夹),将所有函数放入该文件中。
然后在 composer.json
中将此文件告诉作曲家:
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\": "app/"
},
"files": [
"app/Helpers/helper.php",
]
},
然后执行 composer dump-autoload
,您可以在您的视图或其他任何地方使用它。
例如在视图中:
{{ romanic_number(2) }}
您可以 并在那里定义所有助手:
if (! function_exists('romanic_number')) {
function romanic_number($value)
{
$romanic = ....;
return $romanic;
}
}
然后将其添加到 composer.json
,以便 Laravel 可以自动加载它:
"autoload": {
....
"files": [
"app/someFolder/helpers.php"
]
},
我的函数是这样的:
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) }}
结果:二
我将要访问的自定义函数放在视图中的什么位置?
我尝试将我的自定义函数放入控制器中,但失败了
更新
我在文件夹应用程序中制作文件夹助手。然后我在文件夹 Helpers (mysystem/app/Helpers/helper.php)
中创建文件 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...
您可以创建自己的自定义助手。创建 CustomHelper.php
文件并在其中添加您的函数并包含在 composer.json
文件中,如下所示
"autoload": {
...
"psr-4": {
"App\": "app/"
},
"files" : [
"app/CustomHelper.php"
...
]
}
在文件夹 app/Helpers
中创建一个名为 helpers.php
的文件(首先您必须创建 Helpers
文件夹),将所有函数放入该文件中。
然后在 composer.json
中将此文件告诉作曲家:
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\": "app/"
},
"files": [
"app/Helpers/helper.php",
]
},
然后执行 composer dump-autoload
,您可以在您的视图或其他任何地方使用它。
例如在视图中:
{{ romanic_number(2) }}
您可以
if (! function_exists('romanic_number')) {
function romanic_number($value)
{
$romanic = ....;
return $romanic;
}
}
然后将其添加到 composer.json
,以便 Laravel 可以自动加载它:
"autoload": {
....
"files": [
"app/someFolder/helpers.php"
]
},