通常我们从下面的路线中调用控制器方法
Route::get('/route_name', 'controllerName@method');
但有没有办法从路由调用辅助方法?
答案 0 :(得分:0)
你可以use a closure:
Route::get('/route_name', function() {
helper();
});
但更好的方法是调用控制器方法并从该方法调用帮助程序:
Route::get('/route_name', 'controllerName@methodWhichWillCallHelper');
答案 1 :(得分:0)
步骤1 :第一个非常简单明了。只需转到位于Laravel项目中的composer.json文件
"autoload": {
"files": [
"app/Helpers/Helper.php"
],
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4": {
"App\\": "app/"
}
},
更改composer.json文件并向files数组添加新路径后,需要转储自动加载器。只需从Laravel项目目录中的终端运行此命令。
composer dump-autoload
现在,您的帮助程序文件将自动加载到您的Laravel项目中。
第2步 如果您的帮助程序文件包含具有这些帮助程序方法的类,并且您已指定了名称空间,则可以通过定义别名来轻松使用它们。您可以通过在config / app.php文件中的别名数组的末尾添加以下内容来轻松实现此目的。
用别名写'Helper' => App\Helpers\Helper::class,
步骤3 现在,在您的web.php中,您可以使用帮助器功能
Route::post('/area/getAreaList', function() {
Helper::getAreas();
})->name('area.getAreaList');