溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP如何使用反射機制實現(xiàn)查找類和方法的所在位置

發(fā)布時間:2021-08-27 10:54:49 來源:億速云 閱讀:123 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下PHP如何使用反射機制實現(xiàn)查找類和方法的所在位置,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

具體如下:

//參數(shù)1是類名,參數(shù)2是方法名
$func = new ReflectionMethod('UnifiedOrder_pub', 'getPrepayId');
//從第幾行開始
$start = $func->getStartLine() - 1;
//從第幾行結(jié)束
$end = $func->getEndLine() - 1;
//獲取路徑地址
$filename = $func->getFileName();

下面是摘抄的示例代碼比較全面

<?php
function a() {
}
class b {
  public function f() {
  }
}
function function_dump($funcname) {
  try {
    if(is_array($funcname)) {
      $func = new ReflectionMethod($funcname[0], $funcname[1]);
      $funcname = $funcname[1];
    } else {
      //這個應(yīng)該是當(dāng)只有一個參數(shù)的時候就看做是本類的發(fā)放吧,大概,自行百度
      $func = new ReflectionFunction($funcname);
    }
  } catch (ReflectionException $e) {
    echo $e->getMessage();
    return;
  }
  $start = $func->getStartLine() - 1;
  $end = $func->getEndLine() - 1;
  $filename = $func->getFileName();
  echo "function $funcname defined by $filename($start - $end)\n";
}
function_dump('a');
function_dump(array('b', 'f'));
$b = new b();
function_dump(array($b, 'f'));
?>

以上是“PHP如何使用反射機制實現(xiàn)查找類和方法的所在位置”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI