johnitvn / yii2-workbench
Yii2 工作台支持开发 Yii2 扩展
Requires
- johnitvn/composer-runtime: 1.0.0
- johnitvn/json-query: 1.0.2
- yiisoft/yii2: ~2.0.4
This package is auto-updated.
Last update: 2024-09-19 10:44:39 UTC
README
Yii2 工作台支持开发 Yii2 扩展
当你开发 yii2 包时,你有两种选择
- 你可以将源代码存储在 github 或本地 git 仓库中
- 你也可以将源代码存储在本地磁盘,并将扩展添加到 yii 的扩展配置中
上述选项的缺点
-
使用第一种选项,你将花费大量时间在
composer update
上。当然,美国海岸(Packagist 和 Github 服务器所在地)的人们可能运气更好,因为运行\composer update
的时间将比其他地区的人更短。
当然,你可以直接在供应商目录中拉取和推送你的包。但当你并行处理多个包时,当你想要添加新的依赖包时,你必须将所有包推送到服务器并等待composer update
。真的很糟糕,有时候我需要花费 30 分钟来执行composer update
。 -
使用第二种选项,你必须在主项目的 composer.json 中定义所需的包,并在 web 配置中定义引导类。这种操作看起来很不自然,就像你发布或公开你的包时一样。
这就是开发这个包的原因。我一直在使用 laravel。他们也有一个叫做工作台的功能。我真的很喜欢工作台的工作方式。现在,在我开发了工作台之后,只需更改代码并刷新浏览器。对我来说非常神奇,你对这个扩展有什么看法,请告诉我你的评论。
特性
- 支持快速开发 Yii2 扩展
- 支持通过包的 composer.json 进行自动加载
- 支持在 composer.json 中进行引导
安装
安装此扩展的首选方式是通过 composer。
运行以下命令
php composer.phar require --prefer-dist johnitvn/yii2-workbench "*"
或
"johnitvn/yii2-workbench": "*"
将此添加到你的 composer.json
文件的 require 部分。
配置
让我们在主配置和命令行配置中添加 workbench 组件
'components' => [
'workbench'=>[
'class' => 'johnitvn\workbench\Workbench',
'workingDir' => dirname(__DIR__).'/workbench',
'author' => "Author Name",
'email' => "author@example.com",
'onlyIncludePackages' => [
'johnitvn/yii2-ajaxcrud',
]
],
]
工作目录是你想要开发包的目录。
作者和电子邮件用于创建包模板。
onlyIncludePackages 是你想要加载的包列表。如果你想加载所有包,设置为 null
使用
首先,创建你的新包。
使用以下命令
$ yii workbench/create {vendor}/{package}
或
$ yii workbench/create
如果你没有设置包全名参数,应用程序将提示你。
现在你可以在 {workingDir}/{vendor}/{package} 中看到。包的模板是
- src/
- test/
- vendor/
- phpunit.xml
- composer.json
composer.json 文件定义了为你定义的 autoload psr-4。如果你想更改它,可以更改
如果你想定义引导,只需将其添加到 composer.json 中
"extra": { "bootstrap": "{vendor}\\{package}\\Bootstrap" }
对于 psr-4 和引导更改,只需运行应用程序,不需要更新任何内容。当你将新的依赖项添加到 composer.json 中时,你必须在你的包根目录中运行 composer update
。
还有一件事,当你将依赖项添加到工作台工作空间中已经存在的包时,工作台将不会从包的供应商加载,而是从工作空间加载。