php中debug_backtrace、debug_print_backtrace和匿名函數(shù)用法實(shí)例
本文實(shí)例講述了php中debug_backtrace、debug_print_backtrace和匿名函數(shù)用法。分享給大家供大家參考。具體分析如下:
debug_print_backtrace() 是一個(gè)很低調(diào)的函數(shù),很少有人注意過(guò)它.
不過(guò)當(dāng)我們對(duì)著一個(gè)對(duì)象調(diào)用另一個(gè)對(duì)象再調(diào)用其它的對(duì)象和文件中的一個(gè)函數(shù)出錯(cuò)時(shí),它正在一邊笑呢.
debug_print_backtrace() 可以打印出一個(gè)頁(yè)面的調(diào)用過(guò)程,從哪兒來(lái)到哪兒去一目了然.不過(guò)這是一個(gè)PHP5的專(zhuān)有函數(shù),好在pear中已經(jīng)有了實(shí)現(xiàn).
一、debug_backtrace 它可以回溯跟蹤函數(shù)的調(diào)用信息,可以說(shuō)是一個(gè)調(diào)試?yán)?代碼如下:
function one() { two(); }
function two() { three(); }
function three() { print_r( debug_backtrace() ); }
/*輸出:
Array(
[0] => Array (
[file] => D:apmservwwwhtdocstestdebugindex.php
[line] => 10
[function] => three
[args] => Array ( )
),
[1] => Array (
[file] => D:apmservwwwhtdocstestdebugindex.php
[line] => 6
[function] => two
[args] => Array ( )
),
[2] => Array (
[file] => D:apmservwwwhtdocstestdebugindex.php
[line] => 3
[function] => one
[args] => Array ( )
)
)*/
二、debug_print_backtrace 它與之不同的是它會(huì)直接打印回溯信息.
三、匿名函數(shù)
從PHP 5.3開(kāi)始新增了匿名函數(shù)(Anonymous functions),也叫閉包函數(shù)(closures),關(guān)鍵字 use 同時(shí)也在匿名函數(shù)中.
先看一下匿名函數(shù)的示例,作為回調(diào)函數(shù)的參數(shù),代碼如下:
echo preg_replace_callback('~-([a-z])~', function ($match) {
return strtoupper($match[1]);
}, 'hello-world'
);
// 輸出 helloWorld
?>
連接閉包和外界變量的關(guān)鍵字:USE
閉包可以保存所在代碼塊上下文的一些變量和值,PHP在默認(rèn)情況下,匿名函數(shù)不能調(diào)用所在代碼塊的上下文變量,而需要通過(guò)使用use關(guān)鍵字,代碼如下:
$num = 2;
$array = array(1,2,3,4,5,6,7,8);
print_r(array_filter($array, function($param) use ($num){
return $param % intval($num) ==0; })
);}
test();
希望本文所述對(duì)大家的PHP程序設(shè)計(jì)有所幫助。
- PHP中調(diào)試函數(shù)debug_backtrace的使用示例代碼
- phpstorm配置Xdebug進(jìn)行調(diào)試PHP教程
- PHP 調(diào)試工具Debug Tools
- php性能優(yōu)化分析工具XDebug 大型網(wǎng)站調(diào)試工具
- php 調(diào)試?yán)鱠ebug_print_backtrace()
- PHP 7安裝調(diào)試工具Xdebug擴(kuò)展的方法教程
- PHP遠(yuǎn)程調(diào)試之XDEBUG
- PHP調(diào)試及性能分析工具Xdebug詳解
- Phpstorm+Xdebug斷點(diǎn)調(diào)試PHP的方法
- 圖文詳解phpstorm配置Xdebug進(jìn)行調(diào)試PHP教程
- PHP使用debug_backtrace方法跟蹤調(diào)試代碼調(diào)用詳解
相關(guān)文章
VIM中設(shè)置php自動(dòng)縮進(jìn)為4個(gè)空格的方法詳解
本篇文章是對(duì)VIM中設(shè)置php自動(dòng)縮進(jìn)為4個(gè)空格的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
php簡(jiǎn)單統(tǒng)計(jì)字符串單詞數(shù)量的方法
這篇文章主要介紹了php簡(jiǎn)單統(tǒng)計(jì)字符串單詞數(shù)量的方法,涉及php字符串分割與數(shù)組統(tǒng)計(jì)的相關(guān)技巧,需要的朋友可以參考下2015-06-06
PHP針對(duì)偽靜態(tài)的注入總結(jié)【附asp與Python相關(guān)代碼】
這篇文章主要介紹了PHP針對(duì)偽靜態(tài)的注入,結(jié)合實(shí)例形式總結(jié)分析了php針對(duì)偽靜態(tài)的常見(jiàn)注入情況,并附帶asp與Python的相關(guān)操作代碼,對(duì)于php程序安全有一定借鑒價(jià)值,需要的朋友可以參考下2017-08-08
php簡(jiǎn)單實(shí)現(xiàn)無(wú)限分類(lèi)樹(shù)形列表的方法
這篇文章主要介紹了php簡(jiǎn)單實(shí)現(xiàn)無(wú)限分類(lèi)樹(shù)形列表的方法,實(shí)例分析了php通過(guò)數(shù)組實(shí)現(xiàn)樹(shù)形列表的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03
PHP常見(jiàn)的6個(gè)錯(cuò)誤提示及解決方法
自學(xué)黨們?cè)谧詫W(xué)php的時(shí)候,經(jīng)常會(huì)發(fā)生一些小錯(cuò)誤,這篇文章主要介紹了PHP常見(jiàn)的6個(gè)錯(cuò)誤提示及解決方法,感興趣的小伙伴們可以參考一下2016-07-07
php 無(wú)限級(jí)分類(lèi)學(xué)習(xí)參考之對(duì)ecshop無(wú)限級(jí)分類(lèi)的解析 帶詳細(xì)注釋
對(duì)ecshop無(wú)限級(jí)分類(lèi)的解析,認(rèn)真分析后發(fā)現(xiàn)真的其算法還是比較精典的其實(shí)并不難理解,有舉例方便大家理解。2010-03-03
PHP實(shí)現(xiàn)無(wú)限級(jí)分類(lèi)(不使用遞歸)
這篇文章主要介紹了在不使用遞歸的情況下PHP實(shí)現(xiàn)無(wú)限級(jí)分類(lèi),感興趣的小伙伴們可以參考一下2015-10-10
PHP封裝的svn類(lèi)使用內(nèi)置svn函數(shù)實(shí)現(xiàn)根據(jù)svn版本號(hào)導(dǎo)出相關(guān)文件示例
這篇文章主要介紹了PHP封裝的svn類(lèi)使用內(nèi)置svn函數(shù)實(shí)現(xiàn)根據(jù)svn版本號(hào)導(dǎo)出相關(guān)文件,結(jié)合實(shí)例形式分析了php封裝的svn操作類(lèi)與根據(jù)版本導(dǎo)出相關(guān)版本文件操作技巧,需要的朋友可以參考下2018-06-06
php實(shí)現(xiàn)處理輸入轉(zhuǎn)義字符的代碼
這篇文章主要介紹了php實(shí)現(xiàn)處理輸入轉(zhuǎn)義字符的代碼,需要的朋友可以參考下2015-11-11

