ThinkPHP單字母函數拾掇

來源:互聯網
上載者:User
ThinkPHP單字母函數整理
參考來源:http://m-oyzm.iteye.com/blog/965299

A函數(基本是Action的簡寫)

  A函數是 用來執行個體化我們的Action類的,例如我們的程式有2個Action分別是IndexAction和TestAction,在 IndexAction中有個myHello方法能夠輸出hello world,如果我也想在TestAction中也輸出同樣一段文字怎麼辦?最原始的方法首先我們匯入IndexAction.class.php這個檔案,然後new IndexAction,最後調用myHello方法才行。

代碼一般為 :

myHello();//調用myHello()方法       }   }   ?>   


那麼,如果我們用A函數,怎麼寫呢?

myHello();       }   }   ?>


B函數
  這是隨著行為應運而生的新生函數,可以執行某個行為,例如B('app_begin');就是在項目開始之前,執行這個行為定義的所有函數,支援2個參數,第二個參數支援需要接受一個數組,例如B('app_begin',array("name"=& gt;"tdweb","time"=>time()));這樣。


C函數

   擷取配置值,這個大家用的應該不少。雖然使用方便,但是C函數無疑是一個非常強大的函數。

擷取值:  
擷取所有設定:C(); 不傳遞任何參數,返回一個包含所有設定的數組。
擷取指定配置:C('URL_MODEL') 這樣就能得到URL_MODEL的配置資訊
擷取指定二維數組配置:C("array.name"),這樣就返回數組array下的key為name所對應的值

設定值
為二維數組賦值C("array.name","value"),原理同上(擷取array.name的值),後邊的value是值。

批量賦值
$test=array("URL_MODEL"=>1,"THIN_MODEL"=>true");
C($test);
這樣直接將數組裡的值賦值了

判斷是否賦值
C("?URL_MODEL")這樣前邊加個"?",如果已經賦值,則返回true

  需要說明的是,這裡雖然更改了配置的值,但是僅僅是這個頁面做了更改,到下個頁面就不起作用了,如果想改就永久更改,那麼需要配合F函數,將設定檔寫入config.php才行。

D函數

  DAO函數應該是我們寫程式用的最多的函數了。和A函數類似,如果不使用D函數,就需要匯入Model,然後new Model,剩下都是一樣的。

  但是D函數有2個有點,一是如果之前執行個體化過這個Model,那麼就不再執行個體化了,剩資源;二是方便調試,如果不存在 這個Model,會拋出TP異常,非常人性化。

  如果訪問本項目的Model直接D("Model名稱");就可以了,如果打算跨項目訪問,就使用 D("Model名稱","項目名稱");其他的就沒什麼說的了。

F函數

   快速讀取和儲存檔案資料

   快速儲存資料:F("mydata","這裡是要儲存的資料"),這樣就在項目Data目錄下儲存了一個名叫mydata.php的檔案,裡邊的內容是該函數的第二個參數。

   指定儲存時間 :F("mydata","這裡是要儲存的資料","60"),這樣,如果下次再訪問,間隔大於60秒則刪除次快取檔案。

   指定儲存目錄:F("mydata","這裡是要儲存的資料","60",DATA_PATH) ,這樣就指定儲存在data目錄下

   立即刪除緩衝:F("mydata",null),第二個參數傳遞一個null值,這樣就刪除了mydate這個緩衝

   讀取快取資料:F("mydata"),這樣就讀取這個緩衝了


L函數

  語言定義函數,L("intro")擷取定義成intro的語言,l("intro","介紹")為intro賦值,關於這個賦值的長久性,道理同C函數一樣。


R函數

  還記得我們的A函數吧,如果僅僅想執行某個方法,其實用R函數更方便,剛才的可以替換成

   


S函數

   全域緩衝讀寫函數,和C類似,不過是直接寫成檔案的哦,寫在Temp目錄下,不過在緩衝有一點需要注意,如果緩衝名稱是aaa,那麼緩衝產生的檔案名稱就是md5("aaa")的值,值得注意。

U函數

  U函數是很強大的一個函數,它主要是進行URL組裝,同時支援不同模式和路由

例如:
取得當前模組的Action地址 :U("/nowMethod");
取得當前模組的Action地址,並傳遞參數:U("/nowMethod?params=test");

  (如果不習慣上邊那種方式,可以使用U("/nowMethod",array("params"=>"test");這樣的數組方式傳遞參數,效果是一樣的)

訪問其他模組的方法:U("Other/otherMethod"),這樣就是訪問Other模組下的otherMethod方法
跨項目訪問:U("appname://Other/otherMethod");
使用路由訪問:U("appName:[email protected]/actionName?params");
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.