首頁 >php教程 >php手册 >Yii2 初體驗

Yii2 初體驗

WBOY
WBOY原創
2016-10-19 10:19:341237瀏覽

 

看著Yii1.1有那麼多的不爽,又看著Yii2一天天成熟起來,於是湊一個小專案的原型階段,試著用Yii2搞一搞。

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

  • 預設的模板使用了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 appmodelsUser;
  • 在視圖檔中引用ArrayHelper需先宣告 use yiihelpersArrayHelper;
  • 在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的時候,這個明顯不行,提示找不到$。
  • https://segmentfault.com/a/1190000003742452 這裡講得很清楚。幾個方案。其中修改 assets/AppAsset.php的方案已調通。其中一個關鍵點在於(見黑體字):AppAsset::addScript($this,'@web/js/start.js');
  • 頁面右下有一個酷酷的debug-toolbar按鈕,點擊會彈出一個水平的狀態條。
  • 網址列的 index.php?r=site/index 會變成 index.php?r=site%2Findex
 
 
 
 
 
 
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn