daltonmccleery / laravel-quick-start
此包已被废弃且不再维护。未建议替代包。
快速启动包,用于使用预定义的Laravel结构快速启动
v0.1.2
2022-01-31 18:24 UTC
Requires
- php: ^7.4|^8.0
- doctrine/dbal: ^2.9|^3.0
- illuminate/support: ^8.0
This package is auto-updated.
Last update: 2022-07-04 15:42:52 UTC
README
要求
此包依赖于以下一些第三方Laravel Nova包,如下所示,因此您必须在安装此包之前安装并配置Nova。
安装
通过Composer安装此包
composer require daltonmccleery/laravel-quick-start
将所有包资源发布到您的应用程序
php artisan vendor:publish --provider="DaltonMcCleery\LaravelQuickStart\LaravelQuickStartServiceProvider" --force
然后,运行新的迁移
php artisan migrate
Laravel Nova
更新您的NovaServiceProvider
以包含以下更改
/** * Register the application's Nova resources. * * @return void */ protected function resources() { Nova::resourcesIn(app_path('Nova')); Nova::resources([ \DaltonMcCleery\LaravelQuickStart\Nova\Page::class, \DaltonMcCleery\LaravelQuickStart\Nova\Redirect::class, \DaltonMcCleery\LaravelQuickStart\Nova\MainNavMenu::class, \DaltonMcCleery\LaravelQuickStart\Nova\BannerPromos::class, \DaltonMcCleery\LaravelQuickStart\Nova\MobileNavMenu::class, \DaltonMcCleery\LaravelQuickStart\Nova\FooterNavMenu::class, \DaltonMcCleery\LaravelQuickStart\Nova\ReusableBlocks::class ]); }
重定向
更新您的Http/Kernal.php
,在$middleware
数组中添加以下行作为最后一项
protected $middleware = [ // ... \DaltonMcCleery\LaravelQuickStart\Http\Middleware\RedirectRequests::class, ];
模型修订版
要包含变更的历史记录,将以下特性添加到您的模型中
use DaltonMcCleery\LaravelQuickStart\Traits\HasModelRevisions; class YourModel extends Model { use HasModelRevisions;
如果您正在使用Nova,您需要更新模型的boot
方法如下
use DaltonMcCleery\LaravelQuickStart\Traits\HasModelRevisions; class YourModel extends Model { /** * The "booted" method of the model. * * @return void */ protected static function booted() { static::updating(function ($model) { if ($model->create_new_revision) { $model = self::create_static_revision($model); } }); }
接下来,在模型的Nova资源中添加一个复选框字段,如下所示
Boolean::make('Create New Revision', 'create_new_revision') ->trueValue(1) ->falseValue(0) ->hideFromDetail()->hideFromIndex()->hideWhenCreating() ->help('Create a new revision upon saving that can be reverted to at any time.') ->rules('nullable')
最后,您可以为模型的资源添加一个Nova动作以回滚到特定修订版
use DaltonMcCleery\LaravelQuickStart\Nova\Actions\RevertRevision; public function actions(Request $request) { return [ new RevertRevision($request->resourceId, $this) ]; }
现在,您可以通过静态(通过静态模型闭包)或非静态方式创建新的修订版
self::create_static_revision($model); $this->create_revision($model);
您也可以回滚到最后一个修订版,或者指定修订版的ID
$model->revert_last_revision(); $model->revert_to_revision(1);
路由
默认情况下,该包将自动加载通配符路由,这将覆盖您的应用在web.php
文件中的路由。您可以通过发布的配置文件禁用自动路由,并通过在RouteServiceProvider
的boot方法中添加以下行手动加载路由
Route::middleware('web') ->namespace($this->namespace) ->group(base_path('routes/web.php')); // Add... \DaltonMcCleery\LaravelQuickStart\LaravelQuickStartServiceProvider::registerRoutes();
构建工具
- Auto Resolvable Laravel Blade Components (Blade Component Auto Resolver)
- Nova Charcounted Fields (Text Fields)
- Nova Filemanager (File/Asset Manager)
- Nova Tiptap (Editor Field)
- Nova Flexible Content (Content Repeater Fields)
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。