天天看點

Yii framework 應用小竅門

yii framework 應用小竅門

1. yii framework] 如何擷取目前controller的名稱? 

下面語句就可以擷取目前控制器的名稱了! 

php代碼  

2. yii 如何使用第三方插件 

第一,比如說,我們要使用 zendframework的東西。我們把zend framework解壓到 prtected/vendors裡面,現在的檔案夾為 protected/vendors/zend/search/lucene.php 

第二,在controller檔案的頭部,插入下面代碼。 

上面代碼包含了lucene.php這個類檔案。因為我們用到的是相對路徑,是以我們需要改變php加載檔案的路徑,yii::import 一定要在require_once 之前。 

第三,一旦我們設定好了,我們就可以在controller裡面使用了。比如說 

3. yii中如何在查詢的時候使用資料庫函數 

比如要使用mysql中的md5函數, 

4. yii的controller中外挂action 

建立 

調用 

5. yii建立widget 

通常,widget的視圖是是放在components/views裡面的,通過cwidget::render()來傳遞參數的 

6. cwidget::init()與cwidget::run()的聯系 

要建立一個新的挂件(widget),我們主要是要繼承兩個方法:cwidget::init()和 cwidget::run(), 

cwidget::init 調用是發生在我們使用 $this->beginwidget 将挂件插入到一個view裡面, 

cwidget::run 調用是發生在我們使用 $this->endwidget 這個方法的時候。 

如果我們想捕捉和處理兩者之間的方法核查辦上顯示的内容,我們可以在cwidget::init開始輸出緩沖,然後在cwidget::run中檢索緩沖輸出 

并作進一步處理。 

7. yii如何使用theme 

在main.php 裡面配置 

要使用theme裡面的資源的話,比如說images, js, css, 應該這樣, 

8.yii 如何在目前頁面注冊css和js檔案   

9.yii captcha驗證碼的使用方法 

假設使用的model名字為comment 

model裡面 

view裡面 

10. 如何調用extension擴充 

components的方法 

引入以及定義: 

在config.php檔案裡面 

使用方法: 

在 任何地方,使用yii::app()->xyz,就可以直接使用xyz這個component了,而component的加載方式是 lazilycreated的,隻要我們不是在preload=array()裡面定義,那麼就是,當第一次使用的時候,才會執行個體化的,是以不用擔心說把 它放在config.php裡面會影響性能。 

11. yii 資料儲存時自動插入createtime和updatetime 

yii 1.1 version之後,可以直接這樣: 

如果model裡面已經在使用public function behaviors(),記得要在前面加上parent::behaviors($on); 

12. yii 資料庫查詢找出最新5個釋出的内容 

在資料查詢的時候,出現下面的是什麼意思? 

這個是叫做namedscope, 

每個命名範圍被聲明為一個可以被用來初始化cdbcriteria陣列執行個體。 

如要下面的例子 

的意思就是找出最新的status為1的post的5條記錄 

13. 在views裡面如何調用本controller的方法,擷取一定的值 

直接在views裡面使用$this->method(),如 

controller裡面: 

views的list.php 

這樣就可以調用本controller的方法了 

14. yii framework已經定義的命名空間常量 

system: yii framework directory 

application: application's base directory 

webroot: the directory containing the entry script file 

ext: directory of extensions 

system: 指向 yii 架構目錄; 

zii: 指向 zii library 目錄; 

application: 指向應用程式 基本目錄(base directory); 

webroot: 指向包含裡 入口腳本 檔案的目錄. 此别名自 1.0.3 版起生效. 

ext: 指向包含所有第三方擴充的目錄, 從版本 1.0.8 可用; 

15. yii中如何不加載layout 

可以使用renderpartial()來代替render() 

16. yii中向widget傳值