laravel--用户认证脚手架
Laravel 自带了用户认证功能,我们将利用此功能来快速构建我们的用户中心。
首先执行认证脚手架命令,生成代码:
php artisan ui:auth
安装完成后,打开 routes/web.php 查看修改了哪些内容:
可以看到在我们的主页下,多了两个表达式,先看第一个:
Auth::routes();
此处是 Laravel 的用户认证路由,在 vendor/laravel/ui/src/AuthRouteMethods.php 中即可找到定义的地方,以上等同于:
// 用户身份验证相关的路由
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');
// 用户注册相关路由
Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
Route::post('register', 'Auth\RegisterController@register');
// 密码重置相关路由
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset')->name('password.update');
// Email 认证相关路由
Route::get('email/verify', 'Auth\VerificationController@show')->name('verification.notice');
Route::get('email/verify/{id}/{hash}', 'Auth\VerificationController@verify')->name('verification.verify');
Route::post('email/resend', 'Auth\VerificationController@resend')->name('verification.resend');
为了更加直观,我们将在 web.php 中使用以上替换 Auth::routes();
生成的视图
本地化
可以看到登录表单是英文版本的,打开模板文件,此模板文件是我们刚刚使用 ui:auth 命令生成的:
resources/views/auth/login.blade.php
中文语言包
会有很多人会遇到翻译 Laravel 自带模板的问题,所以我们无需自己一个个去翻译,这种通用的问题找找扩展包来处理即可。
我们将使用 Laravel Lang 项目来实现,此项目支持了 52 个国家的语言,使用以下命令安装:
composer require "overtrue/laravel-lang:~4.0"
完成上面的操作后,将项目文件 config/app.php 中的下一行
Illuminate\Translation\TranslationServiceProvider::class,
替换为:
Overtrue\LaravelLang\TranslationServiceProvider::class,
完成后刷新页面,完美翻译:
Laravel Lang 同自定义语言包一样,都是根据 config/app.php 里 locale 的选项来选择语言的。
值得一提的是,如果你想修改扩展包提供的语言文件,可以使用以下命令发布语言文件到项目里:
php artisan lang:publish zh_CN
发布后的语言文件存放于 resources/lang/zh_CN 文件夹。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?