Yii Framework 配置 MySql并通过GII实现CRUD

YII默认使用的是sqlite,但是他已经在配置文件中注释了mysql的连接语句。

在网站目录protected/config/下面找到主配置文件,main.php

打开main.php找到

1
2
3
       'db'=>array(
            'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',
        ),

这是默认连接的sqllite,将这段代码注释,然后在这行代码下面找到

1
2
3
4
5
6
7
8
9
10
 /*
     'db'=>array(
            'connectionString' => 'mysql:host=localhost;dbname=testdrive',  //dbname是你的数据库名,
            'emulatePrepare' => true,
            'username' => 'root', //数据库用户名
            'password' => '', //数据库密码
            'charset' => 'utf8', // 数据库编码
            'tablePrefix'=>'tbl_',//这行是我加的,表名前缀
        ),
*/

将这行代码的注释去掉,并创建数据库(这个不用教了吧)

使用GII配置CRUD

注意:YII使用的php的PDO来访问数据库的,所以在使用数据库时,需要配置好PDO。
YII的CRUD可以自动生成,使用GII这个工具。
要使用GII,在主配置文件中,打开GII即可,并设置密码。

找到modules

1
2
3
4
5
6
7
8
9
10
11
'modules'=>array(
        // uncomment the following to enable the Gii tool
        /*
        'gii'=>array(
            'class'=>'system.gii.GiiModule',
            'password'=>'你的gii密码',
            // If removed, Gii defaults to localhost only. Edit carefully to taste.
            'ipFilters'=>array('127.0.0.1','::1'),
        ),
        */
    ),

将里面gii的注释去掉,并修改密码。

gii是有IP限制的,因为我YII是安装在Linux虚拟机里的,所以我访问时会返回403错误,提示没有权限

Error 403

You are not allowed to access this page.

遇到这种情况,我们就需要配置gii的ipFilters

1
'ipFilters'=>array('127.0.0.1','::1','192.168.0.153'),

将我的IP添加进去,成功的话会提示输入密码

为了演示,我们先创建数据表

1
2
3
4
5
6
7
8
9
CREATE TABLE tbl_user
(
id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(128) NOT NULL,
password VARCHAR(128) NOT NULL,
salt VARCHAR(128) NOT NULL,
email VARCHAR(128) NOT NULL,
profile TEXT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

以上sql代码创建了一个user表

我们要根据表结构生成表的模型类

modelGenerate

点击左边Model Generator (图片网上找的,对付用吧)。注意,这里的表名是要加前缀的,model类名是自动生成的,点击”preview”预览,可以看到生成的代码,然后点击生成”Generate”,模型类User.php就生成了,它位于protected/modules/下。
出现The code has been generated successfully.代表文件生成成功。

之后我们还要使用GII生成对tbl_user的CRUD操作类

curdGenerator

Model Class里填入我们刚生成的Model类的名字,Controller ID是自动生成的,我们看到有一个Code Template,代码模板的路径,这是不是意味着默认生成的代码可以修改呢??嘿嘿,既然我们刚开始学,就先不考虑这个,回到正题->预览->生成,ok,成功。这里,GII帮我们生成了一个UserController.php控制器文件和user的多个视图文件。UserController.php位于protected/controllers/下,多个视图文件位于views/user下。

通过URL访问user控制器:index.php?r=user
如果要操作,需要用管理员admin/admin登录。
查看(Read)/添加(Create)/删除(Delete)/更新(Update)。
至此,网站的模型(models)、控制器(controller)、视图(view)就都创建好了,剩下的就是自己写代码了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值