首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >api.php Laravel中的“未定义类型‘应用程序’”

api.php Laravel中的“未定义类型‘应用程序’”
EN

Stack Overflow用户
提问于 2021-08-06 09:31:36
回答 1查看 280关注 0票数 1

我使用的是Laravel 8.53和Vuejs。我想根据api参数设置特定控制器的语言。(以所需语言发送密码重置电子邮件)我在api.php中有此路由,它可以工作:

代码语言:javascript
复制
Route::post('forgot-password', [NewPasswordController::class, 'forgotPassword'])->name('password.reset');

现在我想创建一个类似这样的东西:

代码语言:javascript
复制
Route::post('forgot-password/{locale}', function ($locale) {App::setLocale($locale);}, [NewPasswordController::class, 'forgotPassword'])->name('password.reset');

现在,当我发送到/api/forgot-password/en时,我得到了200 OK,但没有响应。我的VS代码显示了这个错误:Undefined type 'App'。我需要在api.php中定义"App“吗?多么?

EN

回答 1

Stack Overflow用户

发布于 2021-08-06 09:45:08

我不确定它是否相关,但可能问题出在不同的地方。将三个参数传递给post方法。根据laravel docs的说法,您应该只传递两个参数。在这种情况下,您可以传递回调,或者使用方法传递控制器路径。尝试将App::setLocale()移动到您的控制器方法,并使用您的第一个语法。记得在使用之前导入App facade。

代码语言:javascript
复制
// api.php
Route::post('forgot-password', [NewPasswordController::class, 'forgotPassword'])->name('password.reset');

// NewPasswordController.php
use \App;

class NewPasswordController {
    public function forgotPassword( $locale ) {
         App::setLocale( $locale );

         /* rest of code */
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68679335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档