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 文件夹。

posted @   小信吖  阅读(73)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示