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,初次安裝使用的話,會出現以下報錯
yiiwebRequest::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 appcontrollers; use Yii; use yiiwebController; /** * */ 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:wamptmp,?
正好有一個文件,而且這個文件名與上面的PHPSESSID對應的value完全一樣
Yii默認存儲 session 數據為文件到服務器上,當然,我們也可以設置將session保存到數據表中。