declare (directive)
statement
directive 部分允許設(shè)定 declare 代碼段的行為。目前只認(rèn)識(shí)兩個(gè)指令:ticks(更多信息見下面 ticks 指令)以及encoding(更多信息見下面 encoding 指令)。
Note: encoding 是 PHP 5.3.0 新增指令。
declare 代碼段中的 statement 部分將被執(zhí)行——怎樣執(zhí)行以及執(zhí)行中有什么副作用出現(xiàn)取決于 directive 中設(shè)定的指令。
declare 結(jié)構(gòu)也可用于全局范圍,影響到其后的所有代碼(但如果有 declare 結(jié)構(gòu)的文件被其它文件包含,則對(duì)包含它的父文件不起作用)。
<? declare (ticks = 1); //這句這么寫表示全局的腳本都做處理 function foo() { //注冊(cè)的函數(shù) html' target='_blank'>static $no; $no++; echo $no."======"; echo microtime()."/n"; } register_tick_function("foo"); //注冊(cè)函數(shù),后面可以跟第2個(gè)參數(shù),表示函數(shù)的參數(shù) $a = 1; for($i=0;$i<5;$i++) { //這里的循環(huán)也是語(yǔ)句,會(huì)做一次判斷$i<5的判斷執(zhí)行 $b = 1; } ?>
declare 調(diào)試內(nèi)部程序使用.
先簡(jiǎn)單說明,declare這個(gè)函數(shù)只支持一個(gè)參數(shù)就是ticks,函數(shù)表示記錄程序塊,需配合register_tick_function 函數(shù)使用。ticks參數(shù)表示運(yùn)行多少語(yǔ)句調(diào)用一次register_tick_function的函數(shù)。并且declare支持兩種寫法:
1. declare(ticks = 1); 整個(gè)腳本
2. declare(ticks = 1) { 內(nèi)部的代碼做記錄
…
}
上述代碼除了 函數(shù)體內(nèi),外部都會(huì)被執(zhí)行,運(yùn)行可以看執(zhí)行次數(shù)和時(shí)間. 他跟適合做測(cè)試代碼段中每一步分的執(zhí)行時(shí)間 和執(zhí)行次數(shù).
declare 必須是全局的,放在程序外部.
tick 代表一個(gè)事件,事件的定義是在register_tick_function;事件的執(zhí)行頻率是在(ticks=3)。
表示事件頻率是執(zhí)行3個(gè)才記錄一次. microtime() 的打印時(shí)間.
以上就是PHP:declare的用法詳解的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注 其它相關(guān)文章!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選