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