YII2框架基於yii1.0 徹底重寫整個框架 :php
所以以一個初學小白的身份 , 記錄整個學習的過程,但願對自身有一個很好的提升 : linux
1 . composer安裝完成後 , 先後臺找不到入口文件的問題 : 一度認爲本身安裝的有問題 , 結果 : [ 浪費了不少時間 ]
對於一些剛使用Yii2的同窗可能剛下載advanced 版 在frontend/web/ 下找不到index.php
解決:
在advanced目錄下有個 init.bat 文件
雙擊運行,會出現一個dos窗口 輸入 0(開發模式) 或 1(產品模式)
按回車
再輸入 yes 回車
這樣就能生成入口文件了.web
2 . 控制器輸出變量到頁面時 , 必定要記得是 return $this->render() ; 必須returnredis
3 . 框架會自送生成驗證表單的JS , 公共的common / models / LoginForm 只是爲了驗證表單和提交的數據 ! 若是js提示爲英文 , 請在當前模塊配置文件 : 好比backend/config / main.php 中添加 "language"=>"zh-CN" , 而後在LoginForm類中添加 服務器
public function attributeLabels()
{
return [
'username'=>'用戶名',
'password'=>'密碼',
'rememberMe'=>'記住密碼',
];
}
這樣提示就會是中文 , 頁面顯示相關的也會是中文yii2
4. redis遇到的大坑 :
(1) 首先下載redis擴展文件
(2) 將文件放到yiisoft下並從新命名爲yii-redis
(3) 在yiisoft / extensions.php 文件中添加
'yiisoft/yii2-redis' =>
array(
'name'=>'yiisoft/yii2-redis/src',
'version'=>'2.2.0.0',
'alias'=>
array(
'@yii/redis'=>$vendorDir.'/yiisoft/yii2-redis/src',
),
),
這裏必定要注意路徑問題 , 百度到的配置路徑只到yii2-redis 如 $vendorDir.'/yiisoft/yii2-redis' , 測試會出現類不存在的報錯 [ app
] ! 因此必須路徑寫到src
(4) common / config / main.php key爲components下
'redis' => [
'class' => 'yii\redis\Connection',
'hostname'=>'localhost',
'port'=>'端口',
'database'=>1,
],
(5) 正常運行後發現一個問題 , 在框架中寫入的鍵值 , 框架中讀寫都沒問題 , 可是在linux服務器中使用原生的查看不到 , 繼續研究 !
(6) reids數據找不到的問題是 database這個參數配置的問題 ! redis默認的庫有16個[ 固然這個能夠本身設置 如 databases 32] , 值爲1,說明把數據寫入到base1裏面 , select num , 切換redis庫
5. 跳轉遇到的問題 : 在init() 函數中 , 若是執行 redirect() 動做時 , 必定要加上 Yii::$app() ->end();不然程序是會繼續執行的 , 在其餘的方法中 , 直接return $this->redirect([ url]) 就可跳轉 如 : 當用戶沒有登陸時 , 從任何一個頁面訪問都會跳轉到登陸頁面 : 這是若是將跳轉寫在init( ) 動做中 那麼 : composer
$this->redirect(['/login/login']);
Yii::$app->end();應該這樣 ! 若有不足請你們多多指教