国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP的Yii框架使用中的一些錯誤解決方法與建議

2024-05-04 22:35:06
字體:
來源:轉載
供稿:網友

 此文意在記錄 Yii 開發過程中的小問題解決方案,不全面,不權威,不是教程。自己寫過,覺得可以解決問題,以后也可能用上,就記記吧。

    1. Yii 中 Js 和 Css 文件的引入。
    我們就從最簡單的問題開始吧,說起來也不是問題,只是語法罷了。假設我們的 js 文件都放在和 protected 同一層的 js 文件夾里,css 文件都放在和 protected 同一層的 css 文件夾里,好吧,規范就是這樣的...那我們可以在對應的 view 界面按下面這樣寫,css 和 js 函數的參數是不同的哦...(之前因為這個調了一個小時..)
    注冊 js 文件的第二個參數是 js 所放的位置,可選三個:CClientScript::POS_HEAD 放在 Head 部分  CClientScript::POS_BEGIN  放在 Body 開始處  CClientScript::POS_END  放在 Body 結束處,沒有特別要求就不用填了...注冊 Css 文件的第二個參數是 media,,有興趣的同學點這里,目前還是默認就好...
    對于 Jquery 這樣的 js ,用 registerCoreScript 不會造成莫名奇妙的錯誤...

//注冊 js 文件 Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl.'/js/project1.js',CClientScript::POS_HEAD); //注冊 css 文件 Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl.'/css/project1.css'); //注冊 Jquery 文件 Yii::app()->clientScript->registerCoreScript('jquery'); 

    2. Yii isNewRecord 修復
    Yii 的 Model 的 isNewRecord 屬性是很好用的,可以根據這個屬性進行分情況討論。但是,假如我們開啟了事務機制或是其他情況,造成數據插入后又被回滾了,這時數據庫里沒有該條記錄,但是 isNewRecord 是 flase,即認為已經不是新紀錄了。解決方法是用主鍵去訪問數據庫,判斷究竟是不是新紀錄,而我們在用到這個屬性之前要先按下面處理一下。以下 Model 是 Post,主鍵是 id:

if(!$model->isNewRecord) {   $db_exist = Post::model()->findByPk($model->id);   if($db_exist == NULL)     $model->isNewRecord = true; } 

    3.Yii 生成 隱藏輸入域
    雖然自己寫一個輸入域很容易(不就是 display:none 嘛),但是有時架不住需要按照 Yii 的表單代碼格式呀,反正就一句話...

<?php echo $form->hiddenField($model,'name'); ?> <?php if($model->isNewRecord) echo $form->hiddenField($model,'path',array('size'=>60,'maxlength'=>128,'id'=>'path1')); ?> 

    4. Yii 生成下拉菜單
     很多時候我們在 form 里需要一個下拉菜單,這時候 Chtml 的 listdata 就很好用的。假如我們數據庫里的字段只有很少的可能,比如 0 和 1,可以按下面寫:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安顺市| 大庆市| 诸暨市| 三门县| 南充市| 汕尾市| 商洛市| 肃南| 石城县| 汉阴县| 大竹县| 革吉县| 扶绥县| 犍为县| 普宁市| 东明县| 民和| 慈溪市| 泽州县| 平谷区| 松阳县| 剑河县| 江阴市| 饶平县| 大英县| 益阳市| 凭祥市| 邻水| 临泉县| 贡山| 阿合奇县| 碌曲县| 巴塘县| 高密市| 乡宁县| 元谋县| 金平| 景洪市| 苍山县| 永寿县| 丰镇市|