调用未定义的函数,更改helper.php文件,但仍无法调用presentPrice函数

时间:2018-11-13 08:51:52

标签: php laravel

在我的视图文件中,我尝试添加此代码,但无法调用函数名称“ 现价

<table>
   <tr>
    <td>RM {{presentPrice(session()->get('coupon')['name'])}}</td>
   </tr>
 </table>

我将此功能添加到应用程序/帮助程序路径中

<?php
   class helpers{
    function presentPrice($price)
   {
    return money_format('$%i', $price / 100);
   }
}

当然,我必须运行composer dump-autoload。但是它仍然显示未定义的函数

2 个答案:

答案 0 :(得分:0)

您已将其放入类中。如果要定义辅助函数,则应该:

将您的助手来源更改为:

<?php
function presentPrice($price) {
    return money_format('$%i', $price / 100);
}

然后将其添加到您的composer.json

"autoload": {
    "files": [
         "app/helper.php"
    ],
    keep the rest of the autoload parts as is
}

然后再次运行composer dump-autoload。这应该使文件app/helper.php每次都自动加载。 (如果文件位于其他路径,则进行相应更新)

这将使presentPrice()随处可见。

答案 1 :(得分:0)

创建您的助手文件

  

/app/Helpers/Helper.php

<?php 

namespace App\Helpers;
class Helper{
    public static function MoneyFormat($number){}
}
  

/config/app.php

定义别名

'Helper' => App\Helpers\Helper::class,
  

/app/Http/Controllers/YourController.php

use Helper;

并在需要的地方使用它

Helper::MoneyFormat($price)