Yii框架学习(一)—–Yii的使用、配置及gii使用示例

来源:互联网 发布:2017年京东抢购软件 编辑:程序博客网 时间:2024/04/30 10:50

Yii是一个基于组件、纯OOP的、用于开发大型 Web 应用的高性能 PHP 框架。

下载地址:http://www.yiiframework.com/download/

我的服务器、数据库和PHP等的配置都在上一篇博客中提到,这里就在上一篇的基础上加以阐述。此外,还需要配置PHP的环境变量,在环境变量Path中加上D:\myenv\php

首先,因为在Yii中需要开启pdo和pdo_mysql,所以应该检查在运行环境所使用的php.ini中取消了
extension=php_mysql.dll 以及 extension=php_pdo_mysql.dll的注释。

在网站根路径下(我的是D:\myenv\www)创建一个YiiDemo的文件夹,将从网上下载到的Yii压缩包解压之后,拷贝进D:\myenv\www\YiiDemo文件夹。

打开YiiDemo文件夹下的framework文件夹(这个文件夹是Yii框架中最核心的部分,里面有很多定义好的类、日志、小插件、脚手架等),我们可以看到一个yiic.bat批处理文件,这个文件用来帮我们生成网站的MVC的架构。

这里我创建一个最最简单的示例来显示数据库中的用户列表来简单说明一下Yii和gii。

1.生成网站架构:

启动命令行,将目录切换到YiiDemo的framework下,执行yiic命令。如果命令行中出现
Yii command runner(based on Yii v1.1.14)
Usage: D:/myenv/www/yiiDemo/framework/yiic [parameters...]
The following commands are available:
-message
-shell
-webapp
则说明运行成功,之后我们在D:/myenv/www目录下新建一个站点yiiTest:
先在www目录下新建文件夹yiiTest,
然后在命令行中使用yiic创建站点,步骤如下:
命令行中输入:yiic webapp ../../yiiTest,此命令说明在www目录下新建一个名为yiiTest的webapp应用,之后询问是否创建,输入yes,创建成功。

这时候我们可以在www/yiiTest目录下查看它的文件目录:它的根目录下有一个index.php文件,这是我们网站的单一入口,即访问都从这个入口进入;此外css文件夹是样式表文件夹,其他也类似。主要的是一个protect文件夹,我们看到该文件夹里面有很多目录,比如数据库相关的data、配置相关的config等,还有models、controllers、views目录,这就是对应的MVC,分别包含模型(model–封装数据库的一些操作,继承CActiveRecord)、控制(controller–模型、视图等的中介,继承自Controller)和视图(view)。开启Apache后我们可以访问localhost/yiiTest来查看我们创建的网站原型。

2.链接数据库:
我使用的是MySQL数据库,并且新建一个名为yiiTest的数据库,打开yiiTest/protected/config目录下的main.php文件,在40行左右有一个被注释掉了的MySQL数据库链接,
‘db’=>array(
‘connectionString’ => ‘mysql:host=localhost;dbname=testdrive’,
‘emulatePrepare’ => true,
‘username’ => ‘root’,
‘password’ => ”,
‘charset’ => ‘utf8′,
)
我们把他的注释去掉,填上自己的数据库名、用户名和密码等(即dbname、username、password)。
例如我的为:
‘db’=>array(
‘connectionString’ => ‘mysql:host=localhost;dbname=yiiTest’,
‘emulatePrepare’ => true,
‘username’ => ‘root’,
‘password’ => ‘就不告诉你我的密码’,
‘charset’ => ‘utf8′,
),
另外如果数据库的表有前缀,则需要加额外的参数,具体的可以在http://www.yiiframework.com/doc/api中查看。

3.使用gii脚手架示例:
gii脚手架可以生成模型、控制器、crud的一些操作等,这样自动生产代码,我们只需要修改就可以了。(也可以用dos窗口中的shell脚本生产,也可以用自带的gii模型,这里我们使用第二种)

首先,在main.php中找到‘modules’=>array,应该在20行处,取消掉该处的注释,设置自己进入gii的密码,
这时我们可以通过http://localhost/index.php?r=gii来输入密码进入gii。
进入gii后,我们可以使用图形界面创建控制器、视图、模型等。
首先我们创建一个模型,点击Model Genarator,输入我们建立好的数据表(在此之前需要创建一个数据表,这里我先用phpMyAd了一个user,里面有id、user、password、mailaddress、content这4个属性,其中id为主键),在table name中输入表名user,然后输入model类名(我选择的是UserList,注意这里是大小写敏感的),点击预览review,我们看到会显示出将要生成的文件及其路径,点击创建。

之后我们创建控制器,点击Contorller Genarator,输入我们的控制器ID或者叫控制器名,例如userList,同上,点击预览,然后创建。此时我们可以点击下方的try it now查看。

然后生成CRUD,点击CRUD Genarator,List输入刚刚生成的model名UserList和控制器名userList,点击预览,这里会显示一些将要创建的文件列表,里面可能会自动重写刚自动创建的控制器文件、view文件等,需要在后面的overwrite上打勾,点击创建。创建成功后点击try it now,可以浏览。右方有预定义的一些操作,可以管理用户列表,此时我们需要登录管理员,预定义的管理员为admin,密码为admin(在配置文件中可以找到)。

此外,这时我们注意该url,http://localhost/yiiTest/index.php?r=userList/index,这里面的?r=是指访问的控制器,/index是控制器里面的方法,这样我们就可以在控制器里面写我们自己的方法来进行访问。要将userList加入到主页导航中去,我们可以再D:\myenv\www\yiiTest\protected\views\layouts里面修改main.php文件。

当然,会使用gii脚手架只是我们学习Yii框架的第一步,并且上面创建的示例应用只是一个简单的YiiDemo,后面我将写关于如何使用Yii框架手动创建自己的MVC程序。Thx~

0 0
原创粉丝点击