TP_字母函數

1. A()

A函數用于實例化控制器

格式:[資源://][模塊/]控制器 A($name,$layer='',$level='')

@param string $name 資源地址

@param string $layer 控制層名稱

@param integer $level 控制器層次

@return Controller|false

2. B()

執行某個行為 B($name,$tag='',&$params=NULL)

@param string $name 行為名稱

@param string $tag 標簽名稱(行為類無需傳入)

@param Mixed $params傳入的參數 @return void

這是隨著行為應運而生的新生函數,可以執行某個行為,例如B('app_begin');

就是在項目開始之前,執行這個行為定義的所有函 數,支持2個參數,第二個參數支持需要接受一個數組

例如B('app_begin',array("name"=>"tdweb","time"=>time()));這樣。

?

3. C()

讀取及設置配置參數 C($name=null,$value=null,$default=null)

@paramstring|array $name 配置變量

@param mixed $value 配置值

@param mixed $default 默認值

@return mixed

獲取值:  

獲取所有設置: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才行。

4. D()

D函數用于實例化模型類格式 [資 源://][模塊/]模型 D($name='',$layer='')

@param string $name 資源地址

@param string $layer 模型層名稱

@return Model

D函數有2個優點:

一是如果之前實例化過這個Model,那么就不再實例化了,省資源;

二是方便調試,如果不存在 這個Model,會拋出TP異常,非常人性化。

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

5. E()

拋出異常處理 E($msg, $code=0)

@param string $msg異常消息

@param integer $code 異常代碼默認為0

@return void

6. F()

快速文件數據讀取和保存 ?針對簡單類型數據字符串、數組 F($name, $value='',$path=DATA_PATH)

@param string $name 緩存名稱

@param mixed $value 緩存值

@param string $path 緩存路徑

@return mixed

快速保存數據:F("mydata","這里是要保存的數據"),這樣就在項目Data目錄下保存了一個名叫mydata.php的文件,里邊的內容是該函數的第二個參數。

指定保存時間 :F("mydata","這里是要保存的數據","60"),這樣,如果下次再訪問,間隔大于60秒則刪除次緩存文件。

指定保存目錄:F("mydata","這里是要保存的數據","60",DATA_PATH) ,這樣就指定保存在data目錄下

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

讀取緩存數據:F("mydata"),這樣就讀取這個緩存了

?

7. G()

記錄和統計時間(微秒)和內存使 用情況 G($start,$end='',$dec=4)

使用方法:

G('begin'); // 記錄開始標記位 // ... 區間運行代碼

G('end'); // 記錄結束標簽位

echo?G('begin','end',6); //統計區間運行時間精確到小數后6位

echo G('begin','end','m'); // 統計區間內存使用情況 如果end標記位沒有定義,則會自動以當前作為標記位

其中統計內存使用需要 MEMORY_LIMIT_ON 常量為true才有效

@param string $start 開始標簽

@param string $end 結束標簽

@paraminteger|string $dec小數位或者m

@return mixed

8. I()

獲取輸入參數支持過濾和默認值 I($name,$default='',$filter=null)

使用方法:

I('id',0); //獲取id參數自動判斷get或者post

I('post.name','','htmlspecialchar s'); //獲取$_POST['name']

I('get.'); //獲取$_GET

9. L()

獲取和設置語言定義(不區分大小 寫)L($name=null,$value=null)

@paramstring|array $name 語言變量

@param mixed $value 語言值或者變量

@return mixed

語言定義函數,L("intro")獲取定義成intro的語言,l("intro","介紹")為intro賦值

10. M()

M函數用于實例化一個沒有模型文件的Model M($name='',$tablePrefix='',$connection='')

@param string $name Model名稱支持指定基礎模型例如MongoModel:User

@param string $tablePrefix表前綴

@param mixed $connection 數據庫連接信息

@return Model

11. N()

設置和獲取統計數據 N($key,$step=0,$save=false)

使用方法:

N('db',1); // 記錄數據庫操作次數

N('read',1); // 記錄讀取次數

echo N('db'); // 獲取當前頁面數據庫的所有操作次數

echo N('read'); // 獲取當前頁面讀取次數

@param string $key 標識位置

@param integer $step 步進值

@return mixed

12. R()

遠程調用控制器的操作方法 URL 參數格式 [資源://][模塊/]控制器/操作 R($url,$vars=array(),$layer='')

@param string $url調用地址

@paramstring|array $vars調用參數支持字符串和數組

@param string $layer 要調用的控制層名稱

@return mixed

13. T()

獲取模版文件格式資源://模塊@ 主題/控制器/操作 T($template='',$layer='')

@param string $name 模版資源地址

@param string $layer 視圖層(目錄)名稱

@return string

14. U()

URL組裝支持不同URL模式 U($url='',$vars='',$suffix=true,$domain=false)

@param string $url URL表達式,格式:'[模塊/控制器/操作#錨點@域名]?參數1=值1&參數2=值2...'

@paramstring|array $vars傳入的參數,支持數組和字符串

@param string $suffix 偽靜態后綴,默認為true表示獲取配置值

@paramboolean $domain 是否顯示域名

@return string

使用方法:

取得當前模塊的Action地址 :U("/nowMethod");

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

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

訪問其他模塊的方法:U("Other/otherMethod"),這樣就是訪問Other模塊下的otherMethod方法

跨項目訪問:U("appname://Other/otherMethod");

使用路由訪問:U("appName://routeName@moduleName/actionName?params");

另外,如果想直接跳轉,那么就在第二個參數寫1,例如U("/nowMethod",1);這樣就直接調轉到指定URL了

?

15. W()

渲染輸出Widget W($name,$data=array())

@param string $name Widget名稱

@param array $data 傳入的參數

@return void

16. S()

緩存管理 S($name,$value='',$options=null)

@param mixed $name 緩存名稱,如果為數組表示進行緩存設置

@param mixed $value 緩存值

@param mixed $options 緩存參數

@return mixed

全局緩存讀寫函數,和C類似,不過是直接寫成文件,寫在Temp目錄下,不過在緩存有一點需要注意,

如果緩存名稱是aaa,那么緩存生成的文件名稱就是md5("aaa")的值。

轉載于:https://www.cnblogs.com/xcc2016/p/5722907.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/256692.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/256692.shtml
英文地址,請注明出處:http://en.pswp.cn/news/256692.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

父div高度和寬度的應用

這是我自己在仿騰訊首頁時遇到的布局問題,在此記錄,如果有錯,歡迎指正。 首先是對齊問題,可以把父div的高度設置為0,然后調整padding值,這樣可以批量調整子div們和其他父div的相對高度。 這是父div的樣式 .…

flume package遇到的問題

flume打包遇到的一些問題 1.ipc兼容性問題,線上使用2.3.0的hdfs,但是打包時默認為1.2.1的 123408 Apr 2015 19:38:25,122 WARN [SinkRunner-PollingRunner-DefaultSinkProcessor] (org.apache.flume.sink.hdfs.HDFSEventSink.process:455) - HDFS IO e…

有限元筆記06-三維實體單元

多個四面體單元組合起來可以形成六面體

python讀取excle表格數據,將數據編輯到圖像上工程

這里寫目錄標題一級目錄:python讀取excel表格內容二級目錄:python如何分割字符串三級目錄:python如何在圖像的相應位置編輯文字或者字母、數字一級目錄:python讀取excel表格內容 二級目錄:python如何分割字符串 三級…

暑假計劃

保研的事還是要聽天由命。日常拜錦鯉大王。 生產實習呢....估計也是要水過去。等塵埃落定后再補補這些項目吧。 字符串: 1.后綴數組專題(知乎專欄) 2.熟練AC自動機 dp: 3.狀壓dp輪廓線dp入門 4.數位dp 數學: 5.FFT容斥…

使用junit測試用例

通常只會使用junit測試非main方法,在我眼里就是程序入口實現而已。今天,發現原來可以測試類。 針對mybatis練習。在需要測試的UserDaoImpl類上右鍵,新建一個junit case,位置可以放到新創建的source folder :test里面。 選擇需要測試的方法&am…

H5頁面適配所有iPhone和安卓機型的六個技巧

1、viewport 簡單粗暴的方式&#xff1a; <meta name"viewport" content"width320,maximum-scale1.3,user-scalableno"> 直接設置viewport為320px的1.3倍&#xff0c;將頁面放大1.3倍。 為什么是1.3&#xff1f; 目前大部分頁面都是以320px為基準的布…

最優化作業第6章——無約束多維非線性規劃方法

代碼&#xff1a; #導入模塊 from sympy import * import sympy as sp #將導入的模塊重新定義一個名字以便后續的程序進行使用 from numpy import * import numpy as np#定義主要的處理函數 def main():#x1,x2&#xff1a;目標函數變量&#xff1b;alpha&#xff1a;步長因子…

linux的進程與庫之間的通信兩種方式

文章目錄前言一、進程A與算法庫b的通信方式之一&#xff1a;動態dlopen加載算法庫b&#xff0c;編譯的時候是需要加載該頭文件就可以&#xff0c;無需連接該算法庫b具體的實施細節&#xff1a;二、進程A與算法庫b的通信方式之二&#xff1a;進程A編譯的時候連接上算法庫b和該頭…

Day03——類、值和對象

1.js數字-NaN和Infinity 1、在js中&#xff0c;有一種特殊的數值&#xff0c;叫做NaN&#xff08;Not a Number&#xff09;&#xff0c;表示本來要返回數值的操作卻未返回數值的情況&#xff0c;例如0除以0的操作&#xff0c;在其它語言中會報錯誤或異常&#xff0c;而在js中&…

ASIHTTPRequest詳解 [經典3]

大文件斷點續傳 0.94 以后支持大文件的斷點下載&#xff0c;只需要設置&#xff1a; [ request setAllowResumeForFileDownloads:YES ]; [ request setDownloadDestinationPath:downloadPath ]。 就可以了。 ASIHTTPRequest會自動保存訪問過的&#xff35;&#xff32;&#xf…

python矩陣相關操作

1.創建mxn的矩陣 import numpy as np from numpy import *x np.array([[2,1],[1,2],[2,2])#創建了一個3x2的數組 x np.mat(x)#將數組轉化為矩陣2.數組與矩陣的轉化 from numpy import * import numpy as np#數組轉化為矩陣 matrix np.mat(array)#矩陣轉化為數組 array ma…

關于F5的一些基礎話題

負載均衡器通常稱為四層交換機或七層交換機。四層交換機主要分析IP層及TCP/UDP層&#xff0c;實現四層流量負載均衡。七層交換機除了支持四層負載均衡以外&#xff0c;還有分析應用層的信息&#xff0c;如HTTP協議URI或Cookie信息。一、F5配置步驟&#xff1a;1、F5組網規劃(1)…

傳輸協議上的字節解析問題

1、 低字節在前&#xff0c;高字節在后 2、0x01高字節 &#xff0c; 0x00 低字節&#xff0c;如何組合成一個字節 3、0x01 0000 0000 0000 0001 4、0x00 0000 0000 0000 0000 5、按照組合規則&#xff0c;低字節在前&#xff0c;高字節在后組合成的新數據 6、0x01 0x00 0x0…

POJ C++程序設計 編程題#7:字符串排序

編程題&#xff03;7&#xff1a;字符串排序 來源: 北京大學在線程序評測系統POJ (Coursera聲明&#xff1a;在POJ上完成的習題將不會計入Coursera的最后成績。) 總時間限制: 1000ms 內存限制: 1024kB 描述 請按照要求對輸入的字符串進行排序。 #include <iostream> #inc…

Delphi格式化函數Format、FormatDateTime和FormatFloat詳解

轉自&#xff1a;http://outofmemory.cn/code-snippet/7631/Delphi-format-hua-function-Format-FormatDateTime-FormatFloat-explainindetail 1.Format 根據指定所需要的格式&#xff0c;格式化字符串。 原型&#xff1a; function Format(const Format: string const Args: a…

OSPF地址匯總配置

配置過程在R1上&#xff1a;1. 給 Loopback 0 接口分配IP。2. 給ethernet 0/0 接口分配 IP3. 開啟OSPF路由協議&#xff0c;進程號為110&#xff0c;并宣告直連網段。在R2上&#xff1a;1. 給ethernet 0/0 接口分配 IP2. 開啟OSPF路由協議&#xff0c;進程號為110&#xff0c;并…

論文寫作與學術規范課堂筆記01——4.30

論文質量的判斷標準 &#xff08;原創&#xff09;創新性&#xff1a;觀點、方法、材料 寫作質量&#xff1a;邏輯性、語言清晰、數學數據、格式、數據可視化 論文寫作的提升路徑 模仿 經驗

requirejs學習之-- 初始化(一)

為了規范在項目中使用的javascript代碼&#xff0c;我們使用了requirejs框架。 初始階段&#xff0c;我們在按鈕的點擊事件中調用創建的模塊&#xff0c;代碼如下&#xff1a; function button_click() {_this this;var args _this["Command_Params"] || (_this.co…

ROS系統中的多個版本Boost問題

1、刪除多余的boost版本&#xff0c;只需要刪除該版本的libboost*庫以及Boost的頭文件&#xff0c;不需要使用sudo apt-get rm --pugre libboost-dev sudo apt-get armove libboost-dev;這種卸載會把很多Boost依賴的庫刪掉&#xff1b;想要單純的只刪除當前版本的Boost庫&#…