(具体参数描述请使用命令看描述,不过全是英文)
1、Yii提供命令行指令不多,常用的有webapp 和 shell。
1. message 搜索指定文件信息 yicc message webroot/xxx.php 2. shell 进入命令行模式 3. webapp 创建项目 4. migrate 数据迁移计划2、进入命令行模式,
1、创建项目
1. %YiiRoot/framework/yiic webapp webroot/index.php%YiiRoot/framework/yiic 一般是框架根目录,需要用的文件为yiic.php:: yiic.bat,一般创建的新项目protecte目录下都有这两个文件。
webroot/index.php 一般是项目根目录根据你的需求来。
2. %YiiRoot/framework/yiic shell webroot/index.php进入后help 可以看到许多命令
命令
1. controller 创建控制器 2. crud 根据模型创建对应的控制器 3. form 根据模型创建表单视图 4. help 帮助命令 5. model 根据表名创建模型 6. moduel 创建组件2、创建命令
总结: 流程先建立数据库,根据表结构创建对应的model(model命令),再根据model创建对应的控制器和视图(crud命令)。
(1)、controller 控制器
controller message helloworld goodbyemessage 类前缀,文件前缀,后面可以加无数方法
但是如果以后增加或者修改方法用命令比较麻烦,建议以后手动加。
(2)、crud根据模型创建对应的控制器,必须先建立数据表,才能根本表和模型创建对应的控制器。
Crud crud modelClassName controllerNamemodelClassName 模型类前缀,文件前缀
controllerName 控制器类前缀,文件前缀
用http模式输入r=gii 如果有没模型文件无法创建,但命令行模式不受影响
(3)、form根据模型创建对应的控制器,必须先建立数据表,才能根本表和模型创建对应的控制器。
Form modelClassName ViewName ViewPathmodelClassName 模型类前缀,文件前缀
ViewName 视图文件
ViewPath 视图路径 application.views或者自己组件的地址
(4)、model根据模型创建对应的控制器,必须先建立数据表,才能根本表和模型创建对应的控制器。
model modelClassName tableNamemodelClassName 要创建的模式,模型类前缀,文件前缀
tableName 表名
(5)、module 创建模块
module moduleIdmoduleId 模块ID
3、数据迁移
所有的迁移命令后面可以加上一些参数
--interactive=<true|false> 是否使用交互模式 --migrationPath=app.migrations设置迁移类所在的文件夹 --migrationTable=tbl_migration 设置迁移状态记录表 --connectionID=db设置要将迁移应用到哪个数据库 --templateFile=application.migrations.template设置生成迁移类的模板文件1)、创建迁移目录:
cd protected mkdir migrationsmigrations 是数据库临时目录,这个必须先手动创建
,
2)、创建新的迁移:
Yiic migrate create <name>创建一个新的迁移计划,产生一个类在protected/migrations下,你需要实现up和down两个函数
Up $this->createTable(‘表名’, array(结构)); Down $this->dropTable(‘表名’);删除该表3)、应用所有迁移:
Yiic migrate如果没有给出“行动”参数,则默认为“向上”。
4)、向上迁移:
Yiic migrate up 3应用三步迁移,若没有数字默认是1
5)、还原迁移:
Yiic migrate down 3还原最后3步应用迁移,若没有数字默认是1
6)、指定版本迁移:
Yiic migrate to 110809_085201将迁移应用至2011-08-09 08:52:01创建的那个迁移计划
7)、标记指定迁移版本:
Yiic migrate mark 110809_085201让系统认为现在的迁移是2011-08-09 08:52:01的那个,但是不实际执行迁移计划。
这点与to命令不同,to会执行迁移计划应用,然后将状态标记,这个只标记。
8)、查看已应用迁移:
Yiic migrate history [limit]查看已应用的limit步迁移,若没有limit则显示所有
9) 查看可应用迁移:
Yiic migrate new [limit]查看可以应用的limit步迁移,若没有limit则显示所有