russsiq / laravel-assistant
Laravel 9.x 应用程序助手。
Requires
- php: 8.1.*
- ext-zip: *
- guzzlehttp/guzzle: ^7.4.4
- illuminate/support: 9.*
- russsiq/laravel-env-manager: ^0.6.0
- russsiq/laravel-zipper: ^0.3.0
Requires (Dev)
- orchestra/testbench: ^7.5.0
This package is auto-updated.
Last update: 2024-09-19 22:43:04 UTC
README
不要使用此包 - 它没有测试并且未完成
介绍
Laravel 9.x 应用程序助手是一个用于常用命令行控制台命令的图形界面,并包括几个逐步向导
创建此包的目的是将常见的小型Laravel项目维护和部署操作提取出来。
连接
要将依赖项添加到Laravel项目,请使用Composer包管理器
composer require russsiq/laravel-assistant
如果您的应用程序在composer.json
文件的extra
部分中启用了dont-discover
指令,则必须在config/app.php
文件中手动添加以下内容
- 服务提供者在
providers
部分
'providers' => [ /* * Package Service Providers... */ Russsiq\Assistant\AssistantServiceProvider::class, ],
- 类别名(门面)在
aliases
部分
'aliases' => [ 'Archivist' => Russsiq\Assistant\Facades\Archivist::class, 'Cleaner' => Russsiq\Assistant\Facades\Cleaner::class, 'Installer' => Russsiq\Assistant\Facades\Installer::class, 'Updater' => Russsiq\Assistant\Facades\Updater::class, ],
发布包文件
通过Artisan命令行界面发布(复制)所有可用文件以进行重定义和精细调整包。这可以通过以下命令完成:
php artisan vendor:publish --provider="Russsiq\Assistant\AssistantServiceProvider"
此外,还可以通过前缀为assistant-
的单独标签config
、lang
、views
进行分组发布文件
php artisan vendor:publish --tag=assistant-config --force
php artisan vendor:publish --tag=assistant-lang --force
php artisan vendor:publish --tag=assistant-views --force
标志
--force
是可选的,用于强制重写先前发布的包文件。在更新依赖项后可能会很有用。
限制对助手区域的访问权限
以下向导具有对所有以下向导的can:use-assistant
中间件
- 更新向导;
- 存档器;
- 清理器.
在您的应用程序提供者App\Providers\AuthServiceProvider
中,您需要自己定义此访问规则。例如,使用以下结构,将'example@email.com'
更改为您的自己的值
/** * Register any authentication / authorization services. * * @return void */ public function boot() { $this->registerPolicies(); // // Определить посредника, проверяющего, // что текущий пользователь имеет право // воспользоваться Ассистентом приложения. Gate::define('use-assistant', function ($user) { return in_array($user->email, [ 'example@email.com', ]); }); }
向导简述
以下图片展示了应用程序助手的整体外观。每个向导由多个步骤组成。每个步骤可以由多个屏幕表示:例如,输入数据屏幕和显示结果的屏幕。
发布文件后,每个屏幕都可以根据您的偏好和需求进行重定义。通常,只需要简单地重定义语言文件中的字符串。
安装器
只有当向导在.env
文件中记录了APP_INSTALLED_AT
的安装日期时,应用程序才被认为是已安装的。在此之前,安装器将强制将用户重定向到安装器路由。
此向导包含多个屏幕。
安装器欢迎屏幕
包含简短介绍性演讲的屏幕,请求用户提供以下数据
- 网站名称;
- 当前环境;
- 以及接受许可协议。
在执行您指定的类之前,安装器将添加以下字段到表单请求中(如果它们不存在)并执行以下必填字段的验证:
// Режим отладки приложения. 'APP_DEBUG' => [ 'required', 'boolean', ], // Текущее окружение. 'APP_ENV' => [ 'required', Rule::in([ 'local', 'dev', 'testing', 'production', ]), ], // Название сайта. 'APP_NAME' => [ 'required', 'string', ], // Ссылка на главную страницу сайта. 'APP_URL' => [ 'required', 'url', ], // Принятие лицензионного соглашения. 'licence' => 'accepted',
安装器要求屏幕
检查服务器设置是否符合应用程序的最小要求。请确保所有条目都标记为绿色勾选。
数据库屏幕
需要指定连接到预先创建的数据库的参数。
点击下一步按钮后,将执行数据库连接检查,应用位于项目database/migrations
目录中的迁移。
此外,还可以填充数据库,无论是初始数据还是模拟数据。填充器位于项目的database/seeds
目录中。请将类名在发布的配置文件config/assistant.php
中的installer.seeds
部分中指定,键值是类名
database
- 包含初始数据的类名,例如'DatabaseSeeder'
;test
- 测试数据类的名称,例如'TestContentSeeder'
。
只接受一个以字符串形式记录的类名作为名称。不要使用数组!
迁移和数据库填充屏幕
信息屏幕,显示前一个步骤的执行结果。
系统通用参数屏幕
安装完成屏幕。需要指定将写入文件变量 .env
的数据集。
此屏幕由模板 common.blade.php
负责输出,该模板在将包文件发布到目录 resources\views\vendor\assistant\install
后可用。
您在此表单中设置的输入字段分为两种类型:用于写入文件 .env
的和不适于此的。
要将变量及其值写入变量环境文件 .env
,输入字段的名称必须为大写字母,并且使用下划线作为分隔符,例如
<input type="text" name="SOME_VAR" value="{{ old('SOME_VAR', 'default') }}" /> <select name="OTHER_VAR"> <!-- остальная разметка --> </select>
不符合此规则的输入字段 不会被写入 文件 .env
,您可以将其用于在安装器的最终阶段类中构建业务逻辑。
您需要使用以下命令预先生成此类
php artisan make:before_installed BeforeInstalled --force
该命令将创建文件 app\Services\Assistant\BeforeInstalled.php
。向助手指出,它应该在发布的配置文件 config/assistant.php
的 installer
部分中,使用此生成的安装器最终阶段类。
'before-installed' => App\Services\Assistant\BeforeInstalled::class,
在此类中,您必须 自行验证 在
common.blade.php
表单中添加的字段。
您可以在此类中添加字段或更改要写入文件变量环境 .env
的字段值。例如,添加一个抽象字段
// Меняем название темы сайта для // последующей записи в файл окружения. $request->merge([ 'APP_THEME' => $theme, ]);
您还可以在配置文件 config/assistant.php
中进一步指定要复制和创建链接的目录
// Копирование директорий: fromDir, toDir. 'directories' => [ // 'fromDir' => 'toDir', ], // Создание ссылок на директории: target => link. 'symlinks' => [ storage_path('app/public') => public_path('storage'), ],
更新向导
由两个屏幕组成的简单向导
- 更新选项选择屏幕。
- 显示前一个步骤执行结果的屏幕。
存档器
由两个屏幕组成的简单向导
- 归档选项选择屏幕。
- 显示前一个步骤执行结果的屏幕。
清理器
由两个屏幕组成的简单向导
- 选择清除或缓存选项的屏幕。
- 显示前一个步骤执行结果的屏幕。
从您的 Laravel 项目中删除包
composer remove russsiq/laravel-assistant
测试
不,我没听说过。
许可
laravel-assistant
是一个开源软件,根据 MIT 许可证分发。MIT 许可证。