Voyager Frontend 项目教程
1. 项目的目录结构及介绍
Voyager Frontend 项目的目录结构如下:
voyager-frontend/
├── config/
├── database/
├── resources/
│ └── views/
├── routes/
├── src/
├── tests/
├── .editorconfig
├── .gitignore
├── .travis.yml
├── LICENSE.txt
├── README.md
├── composer.json
├── phpunit.xml
└── readme-intro.jpg
目录介绍
config/
: 包含项目的配置文件。database/
: 包含数据库迁移和种子文件。resources/views/
: 包含视图文件。routes/
: 包含路由定义。src/
: 包含项目的源代码。tests/
: 包含测试文件。.editorconfig
: 编辑器配置文件。.gitignore
: Git 忽略文件配置。.travis.yml
: Travis CI 配置文件。LICENSE.txt
: 项目许可证。README.md
: 项目说明文档。composer.json
: Composer 依赖管理文件。phpunit.xml
: PHPUnit 测试配置文件。readme-intro.jpg
: 项目介绍图片。
2. 项目的启动文件介绍
Voyager Frontend 项目的启动文件主要包括 composer.json
和 routes/web.php
。
composer.json
composer.json
文件定义了项目的依赖和其他配置:
{
"name": "pvtl/voyager-frontend",
"description": "The Missing Front-end for The Missing Laravel Admin",
"license": "MIT",
"require": {
"php": "^7.2",
"laravel/framework": "^6.0",
"pvtl/voyager": "^1.0"
},
"autoload": {
"psr-4": {
"Pvtl\\VoyagerFrontend\\": "src/"
}
}
}
routes/web.php
routes/web.php
文件定义了项目的路由:
<?php
use Illuminate\Support\Facades\Route;
Route::group(['prefix' => 'admin'], function () {
Voyager::routes();
});
3. 项目的配置文件介绍
Voyager Frontend 项目的配置文件主要位于 config/
目录下。
config/voyager-frontend.php
config/voyager-frontend.php
文件包含了 Voyager Frontend 的配置选项:
<?php
return [
'search' => [
'driver' => env('SCOUT_DRIVER', 'tntsearch'),
],
'theme' => [
'path' => resource_path('views/vendor/voyager-frontend'),
],
];
config/app.php
config/app.php
文件包含了 Laravel 应用的配置选项:
<?php
return [
'name' => 'Voyager Frontend',
'env' => env('APP_ENV', 'production'),
'debug' => env('APP_DEBUG', false),
'url' => env('APP_URL', 'http://localhost'),
'timezone' => 'UTC',
'locale' => 'en',
'fallback_locale' => 'en',
'key' => env('APP_KEY'),
'cipher' => 'AES-256-CBC',
'providers' => [
/*
* Laravel Framework Service Providers...
*/
Illuminate\Auth\AuthServiceProvider::class,
Illuminate\Broadcasting\BroadcastServiceProvider::class,
Illuminate\Bus\BusServiceProvider::class,
Illuminate\Cache\CacheServiceProvider::class,
Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
Illuminate\Cookie\CookieServiceProvider::class,
Illuminate\Database\DatabaseServiceProvider::class,
Illuminate\Encryption\EncryptionServiceProvider::class,
Illuminate\Filesystem\FilesystemServiceProvider::class,
Illuminate\Foundation\Providers\FoundationServiceProvider::class,
Illuminate\Hashing\HashServiceProvider::class,
Illuminate\Mail\MailServiceProvider::class,
Illuminate\Notifications\NotificationServiceProvider