最近维护一个Yii编写的项目,学习了下Yii框架,在此记录Yii自动生成代码的方法。
第一种方式
没有modules模块,代码生成之后,放在框架默认的文件夹下,Controller类对应的目录是WebRoot/protected/controllers,model类对应的目录是WebRoot/protected/models,
其中WebRoot代表项目的根目录,如:D:\programs\nginx-1.4.7\html\testyii。
先创建一个mysql数据库(testdrive),以及一张User表
CREATE TABLE User (
id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(128) NOT NULL,
password VARCHAR(128) NOT NULL,
email VARCHAR(128) NOT NULL
);
打开WebRoot/protected/config/main.php文件,修改db配置如下:
生成代码的具体步骤:
1 命令行切换到项目根目录
2 执行yiic shell
3 执行model 命令,给数据库表创建model
命令执行之后,可以看到在protected/models文件夹下,生成了User.php文件
4 执行crud 命令,生成增删改查文件
命令执行之后,查看文件夹
在protected/controllers下生成了UserController.php
在protected/views下创建了user目录,user目录下生成了增删改查的文件
5 在浏览器地址栏输入:http://localhost:8800/testyii/index.php?r=user
二 modules 把项目分成多个模块
首先再创建一张Admin表
CREATE TABLE Admin (
id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(128) NOT NULL,
password VARCHAR(128) NOT NULL,
email VARCHAR(128) NOT NULL
);
1 创建modules
在yiic shell下执行 module [模块名],如:module admin
执行之后,在WebRoot/protected下面创建了modules文件夹
admin模块的子文件目录
2 修改配置文件main.php,加载admin模块
3 在admin模块下创建表Admin的model
model application.modules.admin.models.Admin Admin
4 执行crud,创建增删改查文件, 命令格式:crud [module-name].models.[model-name]
例如:crud admin.models.Admin
Controller文件
views文件
5 在浏览器地址栏输入:http://localhost:8800/testyii/index.php?r=admin/admin