Laravel创建一个助手



我已经创建了文件helpers.php (app/helpers.php)

function test($var)
{
    return $var;
}

我把app/start/global.php改成

ClassLoader::addDirectories(array(
    app_path().'/commands',
    app_path().'/controllers',
    app_path().'/models',
    app_path().'/database/seeds',
    app_path().'/helpers.php',
));

作曲家。json在

"autoload": {
        "classmap": [
            "app/commands",
            "app/controllers",
            "app/models",
            "app/database/migrations",
            "app/database/seeds",
            "app/tests/TestCase.php",
            "app/helpers.php"
        ]
    },

但是当我试图在controller

中调用这个函数时
$data = Test::all();
return test($data);

它抛出一个错误

Call to undefined function test()

怎么了?

add -

require app_path().'/helpers.php';

在- app/start/global.php的末尾你不需要将它添加到composer中。Json和set -

ClassLoader::addDirectories(array(
app_path().'/commands',
app_path().'/controllers',
app_path().'/models',
app_path().'/database/seeds',
));

@sgt的方法很好,但如果你仍然想使用composer,请使用files自动加载器。

composer.json

"autoload": {
    ...
    "files": [
        "path/to/my/file.php"
    ]
    ...
}

更改autoload指令后,不要忘记更改composer dump-autoload

相关内容

  • 没有找到相关文章

最新更新