繁体   English   中英

如何从Laravel中的路线调用辅助方法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM