Yii2 初體驗

 

看着Yii1.1有那麼多的不爽,又看着Yii2一每天成熟起來,因而湊一個小項目的原型階段,試着用Yii2搞一搞。php

隨手寫了一點體會,以一個Yii1的熟練工人看向Yii2的視角,簡單一說吧。(未來隨時可能在本文後面追加補充)css

  • 默認的模板使用了bootstrap,很美觀。
  • basic版和advanced版的config文件不大同樣。basic版裏面,有web.php,後者沒有。
  • 設置爲中文顯示:config/web.php 中,增長一行 'language'=>'zh-CN'。而後 Home 變成了首頁,Powered by Yii Framework 變成了技術支持 Yii 框架
  • 使用gii生成model,我勾選了Use Table Prefix,這時生成的model,其tableName()函數返回的是 {{%menu}}。若是不勾選,將返回表名的全稱,如 ssn_menu
  • models/user.php裏,增長了很多函數,方便了不少。
  • 在models及controllers中,隨處都用 [ ... ] 代替 array(...),好看和清爽了許多。
  • LibCrudController 對應的URL是 ?r=lib-crud
  • 開始嘗試用戶登錄部分的定製。。http://www.yiichina.com/tutorial/332
  • 開始作CRUD (from 20:20)
  • User::find()->all() 而不是 User::model()->findAll()
  • 在_form.php中引用User,須要首先聲明 use app\models\User;
  • 在視圖文件中引用ArrayHelper需首先聲明 use yii\helpers\ArrayHelper;
  • 在Yii v1.1中須要三行才能搞定的數據錄入元素,這裏只要一行:
<?= $form->field($model, 'name1')->textInput(['maxlength' => true]) ?>
  • gii生成的CRUD界面大氣、美觀了許多,且提示信息自動爲中文(這應該是GridView的功勞)
  • User::findOne($user_id); 和下面的這個並不同。這個返回一條記錄,下面的不知是什麼鬼。
$user=User::find()->where(['id' => $id]);
  • 增長 my.css:首先在web/css中增長my.css,而後在assets/AppAsset.php中
public $css = [
'css/site.css',
'css/my.css',
];
  • 置入js文件:$this->registerJsFile("js/start.js"); --當依賴jquery的時候,這個明顯不行,提示找不到$。
  • http://www.javashuo.com/article/p-focogqni-y.html 這裏講得很清楚。幾個方案。其中修改 assets/AppAsset.php的方案已調通。其中一個關鍵點在於(見黑體字):AppAsset::addScript($this,'@web/js/start.js');
  • 頁面右下有一個酷酷的debug-toolbar按鈕,點擊會彈出一個水平的狀態條。
  • 地址欄的 index.php?r=site/index 會變成 index.php?r=site%2Findex
相關文章
相關標籤/搜索