ixudra / wizard
Laravel 5 框架的定制 PHP 向导库 - 由 Ixudra 开发
Requires
- php: >=7.0
- illuminate/support: ~5.5
- ixudra/core: ~6.0
- ixudra/translation: ~5.1
- laravelcollective/html: ~5.2
Requires (Dev)
- ixudra/generators: ~5.5
README
Laravel 5 框架的定制 PHP 向导包 - 由 Ixudra 开发。
此包可以由任何人在任何时候使用,但请注意,它针对我的个人定制工作流程进行了优化。它可能不完全适合您的项目,可能需要修改。
安装
通过 Composer 拉取此包。
{ "require": { "ixudra/wizard": "2.*" } }
将服务提供者添加到您的 config/app.php
文件中。
'providers' => array( //... Ixudra\Wizard\WizardServiceProvider::class, ),
使用 artisan 运行包迁移
php artisan migrate --package="ixudra/wizard"
或者,您也可以使用 artisan 发布迁移
// Publish all resources from all packages php artisan vendor:publish // Publish only the resources of the package php artisan vendor:publish --provider="Ixudra\\Wizard\\WizardServiceProvider" // Or publish one resource of the package resources at a time php artisan vendor:publish --provider="Ixudra\\Wizard\\WizardServiceProvider" --tag="migrations" php artisan vendor:publish --provider="Ixudra\\Wizard\\WizardServiceProvider" --tag="views" php artisan vendor:publish --provider="Ixudra\\Wizard\\WizardServiceProvider" --tag="lang"
为了创建新的流程,您可以利用由 ixudra/generators
包提供的功能。此包可用于生成各种文件,如模型和控制台,还提供了一些与该包紧密结合的特定模板。
为了使用此功能,您还需要在 config/app.php
文件中包含 ixudra/generators
包的服务提供者
'providers' => array( //... Ixudra\Wizard\WizardServiceProvider::class, Ixudra\Generators\GeneratorsServiceProvider::class, ),
用法
此包提供了创建应用中向导和流程的关键构建块。实际的流程需要在您的应用程序中构建,并且需要遵循特定的模式才能与之匹配。在此文档中,我将描述如何创建一个名为 ExampleFlow
的示例流程,这应该会为您创建自己的流程提供足够的信息。
步骤 1: 添加流程路由
将流程控制器添加到您的路由文件中,并包含您所需的指定前缀和中间件
Route::group(array(), function() { // Flow controller Route::get( 'flows/{id}/{step?}', array('as' => 'flows.step', 'uses' => '\Ixudra\Wizard\Http\Controllers\FlowController@step' )); Route::post( 'flows/{id}/{step?}', array('as' => 'flows.step.process', 'uses' => '\Ixudra\Wizard\Http\Controllers\FlowController@processStep' )); });
这两个路由将支持您流程所需的所有功能。这些路由将支持任意数量的流程,因此只需添加一次(除非在某些情况下需要针对每个流程不同的路由配置,例如中间件或路由前缀)。
步骤 2: 编写流程迁移
使用 Laravel 迁移创建新的流程。为了方便起见,您可以从 Ixudra/Wizard/database/CreateExampleFlows.php
复制此代码以获取一个头。
步骤 3: 创建流程
要创建一个新的流程,只需使用以下命令
php artisan generate:flow example_flow first_step
这将自动在正确的文件夹中生成所有必需的流程文件,并根据传递给命令的参数填写正确的变量。第一个参数是流程的名称,第二个参数是要为此流程创建的第一个流程步骤的名称。
步骤 4: 访问流程
完成这些后,您就可以访问流程了,您可以通过 URL http://app.dev/flows/1 访问您的流程,如果未指定特定步骤,将自动重定向到第一个流程步骤。您可以添加任意多的流程步骤。要添加新的流程步骤,只需添加必要的 FlowStepHandler 类和 step.blade.php 文件,并通过迁移更新流程信息。
在流程步骤之间切换很简单。这可以通过 GET 请求(如果不需要处理)或 POST 请求(如果需要处理)来完成。
根据您的设置可能需要进行一些修改,但这将为您提供一个不错的框架,以加快您的开发过程。
步骤 5: 添加额外的流程步骤
要创建额外的流程步骤,您需要使用迁移来更新数据库中的流程配置。之后,您还需要创建一个新的流程步骤类以及一个新视图,该视图将步骤渲染给用户(如果适用)。您可以使用以下命令自动为您在正确的位置创建这两个文件:
php artisan generate:flow-step example_flow second_step
这就完成了!祝您玩得愉快!
支持
请通过 Patreon 支持我,以帮助我进一步开发和维护这个包!!
许可证
此包是开源软件,许可协议为 MIT许可证
联系方式
有关包的问题、错误、建议或功能请求,请使用 Github 问题系统并/或提交一个拉取请求。提交问题时,请始终提供您问题的详细说明,您收到的任何响应或反馈,可能相关的日志消息,以及展示问题的源代码示例。如果不提供这些,我可能无法帮助您解决问题。请在提交问题或拉取请求之前查看 贡献指南。
对于任何其他问题,请随时使用以下凭证:
Jan Oris(开发者)
- 电子邮件: jan.oris@ixudra.be
- 电话:+32 496 94 20 57