调用未定义的函数 - laravel

时间:2016-09-29 17:08:32

标签: laravel laravel-5

我想使用辅助函数但我在视图中遇到了这个错误:

Call to undefined function createSubCategories()

我的助手功能的路径:

Http\Controllers\Utilities\Helpers.php

我的主人:

<?php
namespace App\Http\Controllers\Utilities;


    function createSubCategories($parent_cat_id = 0)
    {

        $subs = DB::table('categories')->where('parent_cat_id', '=', $parent_cat_id)->get();
        if (count($subs) > 0) {
            echo '<ul>';
            foreach ($subs as $sub) {
                echo '<li>' . $sub->title_fa;
                echo $this->createSubCategories(($sub->id));
                echo '</li>';
            }
            echo '</ul>';
        }
    }

在composer.json中:

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

我使用了composer dump-autoload

我的观点:

{{createSubCategories(0)}}

3 个答案:

答案 0 :(得分:1)

<强>解决:

我刚刚删除了命名空间:

namespace App\Http\Controllers\Utilities;

答案 1 :(得分:1)

我可以重现你的问题,解决办法是忽略这一行

namespace App\Http\Controllers\Utilities;
你的Helpers.php中的

答案 2 :(得分:0)

我遇到了您上面提到的相同问题。在我的composer.json中,我没有集成辅助函数。通过集成到composer.json-> autoload-> files中,现在可以了。

 "autoload": {
 "files":[
 "app/Helper/setting.php"
  ]
  }

如果您的路径没问题,那就可以了。对于助手功能的每次更改,必须运行命令composer dump-autoload