johnitvn/yii2-workbench

Yii2 工作台支持开发 Yii2 扩展

安装: 247

依赖: 0

建议者: 0

安全性: 0

星标: 5

关注者: 3

分支: 3

开放问题: 2

类型:yii2-extension

1.0.2 2015-07-31 12:00 UTC

This package is auto-updated.

Last update: 2024-09-19 10:44:39 UTC


README

Latest Stable Version License Total Downloads Monthly Downloads Daily Downloads

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

还有一件事,当你将依赖项添加到工作台工作空间中已经存在的包时,工作台将不会从包的供应商加载,而是从工作空间加载。