mihaildev / yiicomposer
Yii Composer 安装器
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-24 02:31:18 UTC
README
开发用于方便使用 Composer 和 Yii 框架
{ "config":{ "vendor-dir": "www/protected/vendor" }, "extra": { "yiicomposer-paths":{ "module": "{vendor}/modules/{name}", "extension":"{vendor}/extensions/{name}", "framework": "{vendor}/framework", "yiisoft/yii": "$framework$" }, "yiicomposer-console-config":"www/protected/config/console.php", "yiicomposer-console-commands":[ { "controller":"migrate" }, { "controller":"test", "action": "test", "params": { "param1": "value1", "param2": "value2", "param3": "value3" } } ] }, "require": { "mihaildev/yiicomposer": "dev-master", "yiisoft/yii": "1.1.14" }, "scripts":{ "post-update-cmd": "YiiComposer\\Console::update" } }
配置路径
配置路径由变量 "yiicomposer-paths" 负责。路径的生成基于以下变量
{vendor}
– 包含所有包的文件夹路径,从主要的 "vendor-dir" 设置中获取
{type}
– 如果指定了包类型,例如yii-extension-test - {type} 将等于 extension。包类型可以在包的设置中指定(在 composer.json 文件的包 "type" 参数中)或者项目文件中的 "yiicomposer-paths" 部分指定,如 yiisoft/yii 已设置类型为 framework。type 可以用几种格式指定,在包 yii-{type} 或 yii-{type}-{name} 或项目文件 "yiicomposer-paths" 部分中使用
{package}
– 原始包名称(例如 mihaildev/testextension 将等于 mihaildev/testextension)
{name}
– 默认名称取自包名称的第二部分(例如 "name": "mihaildev/testmodule" {name} 等于 testmodule),如果名称在包类型中设置,则 yiicomposer 将取用它(例如 yii-extension-test - {name} 将等于 test),也可以在设置中重命名(例如 "clevertech/yii-booster": "$extension-yii-booster$" {name} 将等于 yii-booster)
在其中可以指定主要支持的类型(module、extension、framework)以及添加自己的类型。
"extra":{
"yiicomposer-paths":{
"sometype": "{vendor}/some/{name}"
"yiiext/migrate-command": "$sometype-hochutut$"
"mihaildev/testextension": "$sometype-hochutut2$"
}
},
"require": {
"mihaildev/yiicomposer": "dev-master",
"mihaildev/testextension": "dev-master",
"yiisoft/yii": "dev-master",
"yiiext/migrate-command": "dev-master"
}
配置包
选项 1
{ "name": "mihaildev/testextension", "type": "yii-extension-test" }
在这种情况下 {type} 等于 extension 而 {name} 等于 test
选项 2
{ "name": "mihaildev/testextension", "type": "yii-extension" }
在这种情况下 {type} 等于 extension 而 {name} 等于 testextension
配置控制台命令
在 scripts 部分,添加以下条目 "post-update-cmd": "YiiComposer\Console::update"
示例
{ "minimum-stability" : "alpha", "config":{ "vendor-dir": "www/protected/vendor" }, "extra":{ "yiicomposer-paths":{ "clevertech/yii-booster": "$extension-yii-booster$", "yiiext/migrate-command": "$extension$" } }, "require": { "mihaildev/yiicomposer": "dev-master", "mihaildev/testmodule": "dev-master", "mihaildev/testextension": "dev-master", "yiisoft/yii": "dev-master", "clevertech/yii-booster": "v2.0.0", "yiiext/migrate-command": "dev-master" }, "scripts":{ "post-update-cmd": "YiiComposer\\Console::update" } }
默认情况下,用于启动控制台应用程序的配置文件位于 path/to/vendor/../config/console.php,因为我认为用户会将 vendor 文件夹存储在 protected 文件夹中,但在需要时可以设置变量 "yiicomposer-console-config" 来指定配置文件的路径。
示例
{ "minimum-stability" : "alpha", "config":{ "vendor-dir": "www/protected/vendor" }, "extra":{ "yiicomposer-console-config":"www/protected/config/console.php", "yiicomposer-paths":{ "clevertech/yii-booster": "$extension-yii-booster$", "yiiext/migrate-command": "$extension$" } }, "require": { "mihaildev/yiicomposer": "dev-master", "mihaildev/testmodule": "dev-master", "mihaildev/testextension": "dev-master", "yiisoft/yii": "dev-master", "clevertech/yii-booster": "v2.0.0", "yiiext/migrate-command": "dev-master" }, "scripts":{ "post-update-cmd": "YiiComposer\\Console::update" } }
默认情况下仅执行一个控制台命令 yiic migrate。如果需要,可以添加或重写要执行的命令列表,通过配置变量 "yiicomposer-console-commands" 实现。
示例
{ "minimum-stability" : "alpha", "config":{ "vendor-dir": "www/protected/vendor" }, "extra":{ "yiicomposer-console-config":"www/protected/config/console.php", "yiicomposer-console-commands":[ { "controller":"migrate" }, { "controller":"test", "action": "test", "params": { "param1": "value1", "param2": "value2", "param3": "value3" } } ], "yiicomposer-paths":{ "clevertech/yii-booster": "$extension-yii-booster$", "yiiext/migrate-command": "$extension$" } }, "require": { "mihaildev/yiicomposer": "dev-master", "mihaildev/testmodule": "dev-master", "mihaildev/testextension": "dev-master", "yiisoft/yii": "dev-master", "clevertech/yii-booster": "v2.0.0", "yiiext/migrate-command": "dev-master" }, "scripts":{ "post-update-cmd": "YiiComposer\\Console::update" } }