fantom 2011-08-08 19:15:06 6054次浏览 2条回复 2 0 0

(具体参数描述请使用命令看描述,不过全是英文) 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 goodbye  

message 类前缀,文件前缀,后面可以加无数方法 但是如果以后增加或者修改方法用命令比较麻烦,建议以后手动加。

(2)、crud根据模型创建对应的控制器,必须先建立数据表,才能根本表和模型创建对应的控制器。

Crud  crud modelClassName controllerName 

modelClassName 模型类前缀,文件前缀 controllerName 控制器类前缀,文件前缀 用http模式输入r=gii 如果有没模型文件无法创建,但命令行模式不受影响

(3)、form根据模型创建对应的控制器,必须先建立数据表,才能根本表和模型创建对应的控制器。

Form  modelClassName ViewName  ViewPath

modelClassName 模型类前缀,文件前缀 ViewName 视图文件 ViewPath 视图路径 application.views或者自己组件的地址

(4)、model根据模型创建对应的控制器,必须先建立数据表,才能根本表和模型创建对应的控制器。

model  modelClassName tableName

modelClassName 要创建的模式,模型类前缀,文件前缀 tableName 表名

(5)、module 创建模块

module   moduleId

moduleId 模块ID

3、数据迁移 所有的迁移命令后面可以加上一些参数

--interactive=<true|false> 是否使用交互模式
--migrationPath=app.migrations设置迁移类所在的文件夹
--migrationTable=tbl_migration 设置迁移状态记录表
--connectionID=db设置要将迁移应用到哪个数据库
--templateFile=application.migrations.template设置生成迁移类的模板文件

1)、创建迁移目录:

cd   protected
mkdir migrations

migrations 是数据库临时目录,这个必须先手动创建, 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则显示所有

  • 回复于 2011-08-08 19:15 举报

    model modelClassName tableName BaseClass Model Path
    后面怎么接父级类参数, 自定义组件模型目录参数,主要这些参数顺序问题,(控制器同上)

  • 回复于 2011-08-08 19:29 举报

    支持一下!

您需要登录后才可以回复。登录 | 立即注册