![](/img/trans.png)
[英]How is method call passed from `Routes` to `RoutesCollection`?
[英]How to call a helper method from routes in Laravel
通常我们从下面的路由中调用控制器方法
Route::get('/route_name', 'controllerName@method');
但是有什么方法可以从route调用辅助方法吗?
您可以使用闭包 :
Route::get('/route_name', function() {
helper();
});
但是,执行此操作的更好方法是调用控制器方法,然后从该方法调用帮助器:
Route::get('/route_name', 'controllerName@methodWhichWillCallHelper');
步骤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文件中的aliases数组的末尾添加以下内容来轻松地做到这一点。
用别名写'Helper' => App\\Helpers\\Helper::class,
步骤3现在,在您的web.php中,您可以使用助手功能
Route::post('/area/getAreaList', function() {
Helper::getAreas();
})->name('area.getAreaList');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.