2016-12-24 85 views
1

我的功能是這樣的:我把我的自定義函數放在視圖中(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) }}

結果:II

這裏我把我的自定義功能在視圖中訪問?

我儘量把我的自定義功能的控制器,但它未能

UPDATE

我把文件夾app文件夾助理。然後,我使文件夾助手文件helper.php(mysystem /應用/助手/ helper.php)

我把這個:

<?php 

if (! function_exists('romanic_number')) 
{ 
    function romanic_number($integer, $upcase = true) 
    { 
     ... 

     return $return; 
    } 
} 

我在作曲中添加 「應用程序/助手/ helper.php」。 JSON是這樣的:

"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... 

回答

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" 
    ] 
}, 
+0

檢查您是否使用了正確的路徑並運行'composer dumpauto'命令。 –

+0

這是一樣的。這不起作用 –

+0

剛剛檢查過,適用於我。請顯示你的'composer.json'和文件的功能。 –

1

您可以創建自己的自定義助手。創建CustomHelper.php文件並添加你的函數有&包括composer.json文件,如下

"autoload": { 
     ... 
     "psr-4": { 
      "App\\": "app/" 
     }, 
     "files" : [ 
      "app/CustomHelper.php" 
      ... 
     ] 
} 
+0

@mosestoh爲什麼你的composer.json中有另一個'helpers.php'?你可以刪除它,只添加'app/Helpers/helper.php'試試 –

+0

現在,它工作。非常感謝你 –

3

創建一個名爲文件夾app/Helpershelpers.php文件(首先你必須創建Helpers文件夾),把所有的功能在該文件中。

然後告訴這個文件作曲家composer.json爲:

"autoload": { 
    "classmap": [ 
     "database" 
    ], 
    "psr-4": { 
     "App\\": "app/" 
    }, 
    "files": [ 
     "app/Helpers/helper.php", 
    ] 
}, 

然後做composer dump-autoload,您可以在您的視圖或其他任何地方使用它。

例如,在圖:

{{ romanic_number(2) }} 
+0

它的工作。非常感謝 –

相關問題