开始上手使用yii框架

Posted 诗渊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开始上手使用yii框架相关的知识,希望对你有一定的参考价值。

Yii 安装及基本配置

Yii 是一个 高性能 的,适用于开发 WEB 2.0 应用的 php 框架。Yii的特性可以前往Yii中文官网查看(国外网址也放一下)。Yii的安装很简单,官方直接提供了下载,下载之后只要本地有PHP环境即可使用。Yii官方下载可点击这里,国内可能会出现下载很慢或下载失败的问题,我上传了一份yii-basic版,需要的可点击对应版本前往下载。

下载之后,解压到php环境路径,我在本地安装了wampserver,所以直接放到wampserver对应的站点路径。解压之后先检查一下本地的PHP环境是否适合该版本的YII运行,可浏览器中查看basic目录下的requirements.php文件:

看到以上提示,说明本地php版本支持该Yii版本运行。

然后访问:http://localhost/basic/web/index.php,初次安装使用的话,会出现以下报错

yii\\web\\Request::cookieValidationKey must be configured with a secret key.

我们还需要进行相关的配置才可使用,找到basic/config/web.php文件中配置cookieValidationKey(防止cookie攻击。):

随便输入一个字符串,重新再访问以下http://localhost/basic/web/index.php,搞定:

controller的使用

controller统一写在controllers目录下,文件名首字母大写,以controller结尾,且需要继承controller,下面我新建了一个HelloController.php文件:

为了测试,我们在HelloController.php新建一个action

<?php

namespace app\\controllers;

use Yii;
use yii\\web\\Controller;

/**
* 
*/
class HelloController extends Controller


    public function actionIndex()
    
        echo "hello world";
    


?>

然后在浏览器中打开http://localhost/basic/web/index.php?r=hello/index,浏览器中可显示hello world
其中:hello表示哪个控制器,index表示控制器内的具体操作

session简单处理及存放位置

我们先把上面的actionIndex修改一下,加入一个session

    public function actionIndex()
    
        $session = Yii::$app->session;
        $session->open();
        $session['id']="123456";

        echo $session['id'];
        echo '<br/>';       
        echo "hello world";
    

然后再浏览器中输入:http://localhost/basic/web/index.php?r=hello/index,按F12打开调试窗口查看:

在cookie中多了一个PHPSESSID,PHPSESSID的作用是什么呢?我们知道在session可以用来暂时存储一些数据信息,在浏览器关闭前都是有效的。但是服务器是如何区别不同的session会话呢?就是通过sessionID,也就是这里的PHPSESSID。浏览器每次发送请求时都会将Cookie(包括PHPSESSID)发送给服务器,PHP通过PHPSESSID来区分每一个session会话。

那么这个PHPSESSID保存在哪里呢?我们可以打开php->php.ini文件,搜索session.save_path:

根据上面的路径,打开D:\\wamp\\tmp,

正好有一个文件,而且这个文件名与上面的PHPSESSID对应的value完全一样

Yii默认存储 session 数据为文件到服务器上,当然,我们也可以设置将session保存到数据表中。

以上是关于开始上手使用yii框架的主要内容,如果未能解决你的问题,请参考以下文章

解决yii框架,gii脚手架不能使用。

再次使用yii

Yii1.1框架关于日志的配置的简单使用

centos下使用composer安装yii2框架

YII框架和THINKPHP的区别

在 xampp for ubuntu 中安装 YII 框架