jackiedo / workbench
Requires
- php: >=7.1.3
- illuminate/filesystem: ~5.6
- illuminate/support: ~5.6
- symfony/finder: 4.*
Requires (Dev)
- illuminate/console: ~5.6
- 5.7.x-dev
- 5.6.x-dev
- dev-master / 5.6.x-dev
- 5.6.1
- 5.6.0
- 5.5.x-dev
- 5.5.1
- 5.5.0
- 5.4.x-dev
- 5.4.6
- 5.4.5
- 5.4.4
- 5.4.3
- 5.4.2
- 5.4.1
- 5.4.0
- 5.3.x-dev
- 5.3.6
- 5.3.5
- 5.3.4
- 5.3.3
- 5.3.2
- 5.3.1
- 5.3.0
- 5.2.x-dev
- 5.2.8
- 5.2.7
- 5.2.6
- 5.2.5
- 5.2.4
- 5.2.3
- 5.2.2
- 5.2.1
- 5.2.0
- 5.1.x-dev
- 5.1.8
- 5.1.7
- 5.1.6
- 5.1.5
- 5.1.4
- 5.1.3
- 5.1.2
- 5.1.1
- 5.1.0
- 5.0.x-dev
- 5.0.8
- 5.0.7
- 5.0.6
- 5.0.5
- 5.0.4
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
This package is auto-updated.
Last update: 2020-07-01 03:52:16 UTC
README
截至 2020 年 7 月 1 日,Laravel Workbench 已不再维护。
它将作为存档保留,但不会进行维护、解决问题,未来也不会发布新版本。
由于包的版本已经碎片化,同时其功能也不再适用于现代 Laravel 版本,我决定停止为其开发。相反,我构建了一个名为 Laravel Packager 的更高效包,并投入精力其中。
— Jackie Do
Laravel Workbench
Laravel Workbench(最初来自 Laravel 4.x,现已停止更新)支持我们快速构建完美的 Laravel 结构化包,而不需要花费太多时间。
此包旨在将 Laravel Workbench 带回 Laravel 5+ 及以上版本。通过其强大的功能,让此包在每一个细节上支持您。
功能
- 为包构建目录结构。
- 为包生成标准的 composer.json 文件。
- 为包生成标准的 Service Provider 文件。
- 生成一些脚手架资源文件,例如
- 外观文件
- 接口文件
- 抽象文件
- 异常文件
- 控制器文件
- 中间件文件
- 模型文件
- Artisan CLI 文件
- 配置文件
- 迁移文件
- 语言文件
- 视图文件
- 路由文件
- 助手文件
- ...
- 自动加载到能够立即使用您的包(通过将您的包的服务提供者添加到
config/app.php
文件中的providers
部分或通过在composer.json
文件的extra/laravel
部分中使用发现包功能)。
概览
查看以下主题以了解更多关于 Laravel Workbench 的信息
版本和兼容性
Laravel Workbench 的每个分支都与 Laravel 5+ 的每个版本相似。目前,此包支持以下 Laravel 版本
分支 | Laravel 版本 |
---|---|
5.0 | 5.0 |
5.1 | 5.1 |
5.2 | 5.2 |
5.3 | 5.3 |
5.4 | 5.4 |
5.5 | 5.5 |
5.6 | 5.6 |
在各个分支中,我们有多个版本,标签语法为 5.0.*
,5.1.*
,5.2.*
...
安装
步骤 1 - 通过 Composer 安装此包。
在您的项目源终端运行 composer require
命令
$ composer require jackiedo/workbench:{{laravel-version}}.*
注意:上面的
{{laravel-version}}.*
字符串是您想要安装 Laravel Workbench 的 Laravel 的主版本。例如,如果您想在此包上安装 Laravel 5.6,您必须设置 require 为jackiedo/workbench:5.6.*
步骤 2 - 添加自动加载服务提供者的机制(仅适用于 Laravel 5.4 或更早版本)。
打开 config/app.php
文件,并在 providers 数组中添加一个新项目
...
'providers' => array(
...
Jackiedo\Workbench\WorkbenchServiceProvider::class,
),
注意:如果我们使用的是 Laravel 版本 5.5 或更高版本,并且启用了功能
发现包
,则可以跳过上述步骤。
步骤 3 - 发布配置文件。
在项目源代码的终端中,运行以下命令
$ php artisan vendor:publish --provider="Jackiedo\Workbench\WorkbenchServiceProvider" --force
注意:你应该在发布命令中使用
--force
选项来覆盖最新的配置文件。
步骤 4 - 注册工作台包加载器。
打开 Laravel 项目根目录下的 bootstrap/app.php
文件,并在脚本顶部(在 PHP 开头标签之后)添加以下代码
<?php
/*
|--------------------------------------------------------------------------
| Register The Workbench Loaders
|--------------------------------------------------------------------------
|
| The Laravel workbench provides a convenient place to develop packages
| when working locally. However we will need to load in the Composer
| auto-load files for the packages so that these can be used here.
|
*/
if (is_dir($workbench = __DIR__.'/../workbench'))
{
Jackiedo\Workbench\Starter::autoload($workbench);
}
步骤 5 - 为 Laravel 5.5 或更高版本添加自动发现工作台包的机制。
在此最后一步中,如果我们使用的是 Laravel 版本 5.5 或更高版本,我们应该将功能 自动发现工作台包
添加到 Laravel 项目的 composer.json
文件中的 post-autoload-dump
部分。
打开 composer.json
文件,并在 @php artisan package:discover
行之后添加以下行 @php artisan workbench:discover
"post-autoload-dump": [
...
"@php artisan package:discover",
"@php artisan workbench:discover"
]
注意:如果我们使用的是 Laravel 版本 5.4 或更早版本,我们不执行上述步骤。
用法
现在,您可以使用工作台命令创建与 Laravel 4.2 相同的包。
注意:在创建包之前,您应该更新
config/workbench.php
文件中的name
和
创建基本包。
语法
$ php artisan workbench:make vendor/name
注意:上面的
vendor/name
字符串是包名的形式。例如:jackiedo/demo-package
创建带有生成一些脚手架资源的包。
语法
$ php artisan workbench:make vendor/name --resources
为所有工作台包导出自动加载器
在构建包的过程中,每次您生成新的类、文件或更改包的 composer.json
文件时,您都应该通过以下命令重建包的自动加载器
$ php artisan workbench:dump-autoload
手动发现工作台包
在构建包的过程中,每次您更改包的 composer.json
文件中的 extra/laravel
部分,您都应该通过以下命令重建缓存
$ php artisan workbench:discover
或者,您可以使用 composer dump-autoload
命令,因为我们已经在安装过程中将上述命令添加到 Laravel 项目的 composer.json
文件中的 post-autoload-dump
部分。
删除现有工作台包
语法
$ php artisan workbench:delete vendor/name
截图
不生成脚手架资源创建包。
生成脚手架资源创建包。
生成脚手架资源创建包,并将 PSR-4 自动加载命名空间指向 src 目录。
配置
所有详细信息都已在您的 config/workbench.php
文件的注释中提供(您必须在运行 Artisan vendor:publish 命令之前)。请在使用之前仔细阅读。
其他文档
有关包开发的更多文档,您可以访问官方 Laravel 文档页面