开始上手使用yii框架

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014607184/article/details/82354673

Yii 安装及基本配置

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

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

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

controller的使用

controller统一写在controllers目录下,文件名首字母大写,以controller结尾,且需要继承controller,下面我新建了一个HelloController.php文件:
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打开调试窗口查看:
1
在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保存到数据表中。

猜你喜欢

转载自blog.csdn.net/u014607184/article/details/82354673