yii 框架学习文档(2)

Life is short , play more!
本文来自lihao's Blog,转载请注明。

创建了第一个实例web工程(网站)后,那么我们就开始添加自己的代码,来实现自己的功能了.

1. 首先我们来看一下,当前这个web工程的配置文件. 数据库相关的配置也在 protected/config/main.php
我们可以选择使用本地sqlite 数据库联接方式,还是使用mysql数据库. 下面的配置,通过注释或者修改, 可以达到我们的目的.

####################
/* 使用sqlite
‘db’=>array(
‘connectionString’ => ‘sqlite:’.dirname(__FILE__).’/../data/testdrive.db’,
),
*/
// uncomment the following to use a MySQL database 使用mysql
‘db’=>array(
‘connectionString’ => ‘mysql:host=localhost;dbname=webtest’,
’emulatePrepare’ => true,
‘username’ => ‘root’,
‘password’ => ”,
‘charset’ => ‘utf8’,
),
####################

注意: 要使用 Yii 的数据库功能,我们需要启用 PHP 的 PDO 扩展和相应的驱动扩展。对于测试应用来说,我们需要启用 php_pdo 和 php_pdo_sqlite 扩展。

2. 我们要使用数据库, 实现数据库操作 那么我们无非要实现如下几种方式. create, update , insert, delete . 利用yii的工具,我们不需要实际的写代码,就可以生成.

同样的我们编辑 protected/config/main.php 文件, 可以让我们可以利用工具来生成代码. 将原来注释掉的line打开. 如下.

注意, 官方文档关于此处的路径书写有误, 实际在config/main.php 中

特别注意了, 下面一行里’ipFilters’=>array(‘127.0.0.1′,’::1′,’192.168.1.101′), 一定要加上自己客户端ip地址. 如果你的web服务器和客户端在同一台机器, 那么你一定要输入127.0.0.1 来访问你的web服务,否则, 这里就给禁止你访问了.
############
‘modules’=>array(
// uncomment the following to enable the Gii tool

‘gii’=>array(
‘class’=>’system.gii.GiiModule’,
‘password’=>’Enter Your Password Here’,
// If removed, Gii defaults to localhost only. Edit carefully to taste.
‘ipFilters’=>array(‘127.0.0.1′,’::1′,’192.168.1.100′),
),

),
#############

3. 然后,我们打开http://ip/yii/test/index.php?r=gii, 输入我们的密码’Enter Your Password Here’.
这下我们到了gii的主菜单. 有如下功能.
Controller Generator
Crud Generator
Form Generator
Model Generator
Module Generator
之前,确保数据库里的db和table已经创建。关于tblUser表的sql,见data目录下的mysql 脚本。
4. 那么好,我们按照教程来, 先创建一个Model, 关于mvc我们不多介绍. 想深入了解, 请去搜索mvc吧.
model create

5. click generator 代码, 另外需要注意的是, 最新版本的yii(gii), 可以选择Build Relations. 我们先不关心这的含义,可以通过生成的代码进行分析时什么意思.
Generating code using template “/workspace/yii_software/yii-framework/framework/gii/generators/model/templates/default”…
generated models/User.php
done!
成功了,我们可以看到我们的测试工程下,protected/models 下有了一个User.php

6. 创建CRUD 代码来了.
curd code

点击preview,我们可以看到这次会生成更多的php 代码. 除了一个controller 外, 还会针对每一个操作有一个view(视图). 我们可以选择不生成哪些视图, 默认是全部生成.

Code File Generate
controllers/UserController.php new
views/user/_form.php new
views/user/_search.php new
views/user/_view.php new
views/user/admin.php new
views/user/create.php new
views/user/index.php new
views/user/update.php new
views/user/view.php new

Generating code using template “/workspace/yii_software/yii-framework/framework/gii/generators/crud/templates/default”…
generated controllers/UserController.php
generated views/user/_form.php
generated views/user/_search.php
generated views/user/_view.php
generated views/user/admin.php
generated views/user/create.php
generated views/user/index.php
generated views/user/update.php
generated views/user/view.php
done!

访问http://ip/yii/test/index.php?r=user 来看一下, 我们的controller的执行效果. 哈哈. 现在是不是有点成就感了?

7. 我们点击创建用户,那么我们就来到了登陆页面.因为默认生成的update, insert, delete 等操作需要登陆后才有权限.
如果我们用demo登陆,那么我们只能创建用户.如果我们用admin/admin 登陆,可以进行管理账户.
也可以进行高级搜索用户.  发现没有,所有的功能,我们不用写一行代码. 


发表评论

电子邮件地址不会被公开。 必填项已用*标注