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"
}
}