開始上手使用yii框架

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保存到數據表中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章