FortifyUI 项目教程
1. 项目的目录结构及介绍
FortifyUI 是一个基于 Laravel Fortify 的认证 UI 包。以下是项目的目录结构及其介绍:
fortify-ui/
├── config/
│ ├── fortify.php
│ └── fortify-ui.php
├── src/
│ ├── Commands/
│ │ └── InstallCommand.php
│ ├── Providers/
│ │ └── FortifyUIServiceProvider.php
│ └── FortifyUI.php
├── stubs/
│ ├── views/
│ │ └── auth/
│ │ ├── login.blade.php
│ │ ├── register.blade.php
│ │ └── ...
│ └── config/
│ └── fortify-ui.php
├── tests/
│ └── Feature/
│ └── InstallCommandTest.php
├── .editorconfig
├── .gitattributes
├── .gitignore
├── CHANGELOG.md
├── composer.json
├── LICENSE.md
├── phpunit.xml
├── README.md
└── ...
目录结构介绍
config/
: 包含项目的配置文件。fortify.php
: Laravel Fortify 的配置文件。fortify-ui.php
: FortifyUI 的配置文件。
src/
: 包含项目的源代码。Commands/
: 包含安装命令。Providers/
: 包含服务提供者。FortifyUI.php
: 主文件。
stubs/
: 包含视图模板和配置文件模板。views/
: 包含认证相关的视图文件。config/
: 包含配置文件模板。
tests/
: 包含测试文件。.editorconfig
,.gitattributes
,.gitignore
: 编辑器配置、Git 属性、Git 忽略文件。CHANGELOG.md
,composer.json
,LICENSE.md
,phpunit.xml
,README.md
: 项目文档和配置文件。
2. 项目的启动文件介绍
FortifyUI 的启动文件主要位于 src/Providers/
目录下,其中最重要的是 FortifyUIServiceProvider.php
。
FortifyUIServiceProvider.php
namespace Zacksmash\FortifyUI\Providers;
use Illuminate\Support\ServiceProvider;
use Zacksmash\FortifyUI\FortifyUI;
class FortifyUIServiceProvider extends ServiceProvider
{
public function register()
{
$this->app->singleton(FortifyUI::class, function ($app) {
return new FortifyUI($app);
});
}
public function boot()
{
$this->loadViewsFrom(__DIR__.'/../stubs/views', 'fortify-ui');
$this->publishes([
__DIR__.'/../stubs/config/fortify-ui.php' => config_path('fortify-ui.php'),
]);
}
}
启动文件介绍
register()
: 注册服务容器绑定。boot()
: 加载视图和发布配置文件。
3. 项目的配置文件介绍
FortifyUI 的配置文件主要有两个:config/fortify.php
和 config/fortify-ui.php
。
fortify.php
return [
'features' => [
Features::registration(),
Features::resetPasswords(),
Features::emailVerification(),
Features::updateProfileInformation(),
Features::updatePasswords(),
Features::twoFactorAuthentication([
'confirmPassword' => true,
]),
],
];
fortify-ui.php
return [
'views' => [
'auth' => [
'login' => 'fortify-ui::auth.login',
'register' => 'fortify-ui::auth.register',
// 其他视图配置
],
],
];
配置文件介绍
fortify.php
: 配置 Laravel Fortify 的功能特性。fortify-ui.php
: 配置 FortifyUI 的视图路径和其他相关配置。
通过以上介绍,您可以更好地理解和使用 FortifyUI