當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Inspector::classes方法代碼示例

本文整理匯總了PHP中lithium\analysis\Inspector::classes方法的典型用法代碼示例。如果您正苦於以下問題:PHP Inspector::classes方法的具體用法?PHP Inspector::classes怎麽用?PHP Inspector::classes使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在lithium\analysis\Inspector的用法示例。


在下文中一共展示了Inspector::classes方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: _closureDef

 /**
  * Helper method for caching closure function references to help the process of building the
  * stack trace.
  *
  * @param  array $frame Backtrace information.
  * @param  callable|string $function The method related to $frame information.
  * @return string Returns either the cached or the fetched closure function reference while
  *                writing its reference to the cache array `$_closureCache`.
  */
 protected static function _closureDef($frame, $function)
 {
     $reference = '::';
     $frame += array('file' => '??', 'line' => '??');
     $cacheKey = "{$frame['file']}@{$frame['line']}";
     if (isset(static::$_closureCache[$cacheKey])) {
         return static::$_closureCache[$cacheKey];
     }
     if ($class = Inspector::classes(array('file' => $frame['file']))) {
         foreach (Inspector::methods(key($class), 'extents') as $method => $extents) {
             $line = $frame['line'];
             if (!($extents[0] <= $line && $line <= $extents[1])) {
                 continue;
             }
             $class = key($class);
             $reference = "{$class}::{$method}";
             $function = "{$reference}()::{closure}";
             break;
         }
     } else {
         $reference = $frame['file'];
         $function = "{$reference}::{closure}";
     }
     $line = static::_definition($reference, $frame['line']) ?: '?';
     $function .= " @ {$line}";
     return static::$_closureCache[$cacheKey] = $function;
 }
開發者ID:unionofrad,項目名稱:lithium,代碼行數:36,代碼來源:Debugger.php

示例2: testClassFileIntrospection

 public function testClassFileIntrospection()
 {
     $result = Inspector::classes(array('file' => __FILE__));
     $this->assertEqual(array(__CLASS__ => __FILE__), $result);
     $result = Inspector::classes(array('file' => __FILE__, 'group' => 'files'));
     $this->assertCount(1, $result);
     $this->assertEqual(__FILE__, key($result));
     $result = Inspector::classes(array('file' => __FILE__, 'group' => 'foo'));
     $this->assertEqual(array(), $result);
 }
開發者ID:fedeisas,項目名稱:lithium,代碼行數:10,代碼來源:InspectorTest.php


注:本文中的lithium\analysis\Inspector::classes方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。