当前位置: 首页>>代码示例>>PHP>>正文


PHP Kohana_Exception::debug_source方法代码示例

本文整理汇总了PHP中Kohana_Exception::debug_source方法的典型用法代码示例。如果您正苦于以下问题:PHP Kohana_Exception::debug_source方法的具体用法?PHP Kohana_Exception::debug_source怎么用?PHP Kohana_Exception::debug_source使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Kohana_Exception的用法示例。


在下文中一共展示了Kohana_Exception::debug_source方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: foreach

            <li class="snippet">
              <p>
                <span class="file">
                  <?php 
echo Kohana_Exception::debug_path($file);
?>
[ <?php 
echo $line;
?>
 ]
                </span>
              </p>

              <div class="source">
                <?php 
if (Kohana_Exception::$source_output and $source_code = Kohana_Exception::debug_source($file, $line)) {
    ?>
<code><?php 
    foreach ($source_code as $num => $row) {
        ?>
<span class="line <?php 
        echo $num == $line ? "highlight" : "";
        ?>
"><span class="number"><?php 
        echo $num;
        ?>
</span><?php 
        echo htmlspecialchars($row, ENT_NOQUOTES, Kohana::CHARSET);
        ?>
</span><?php 
    }
开发者ID:JasonWiki,项目名称:docs,代码行数:31,代码来源:error_admin.html.php

示例2: trace

 /**
  * Returns an array of strings that represent each step in the backtrace.
  *
  * @param   array  trace to analyze
  * @return  array
  */
 public static function trace($trace = NULL)
 {
     if ($trace === NULL) {
         // Start a new trace
         $trace = debug_backtrace();
     }
     // Non-standard function calls
     $statements = array('include', 'include_once', 'require', 'require_once');
     $output = array();
     foreach ($trace as $step) {
         if (!isset($step['function'])) {
             // Invalid trace step
             continue;
         }
         if (isset($step['file']) and isset($step['line'])) {
             // Include the source of this step
             $source = Kohana_Exception::debug_source($step['file'], $step['line']);
         }
         if (isset($step['file'])) {
             $file = $step['file'];
             if (isset($step['line'])) {
                 $line = $step['line'];
             }
         }
         // function()
         $function = $step['function'];
         if (in_array($step['function'], $statements)) {
             if (empty($step['args'])) {
                 // No arguments
                 $args = array();
             } else {
                 // Sanitize the file path
                 $args = array($step['args'][0]);
             }
         } elseif (isset($step['args'])) {
             if ($step['function'] === '{closure}') {
                 // Introspection on closures in a stack trace is impossible
                 $params = NULL;
             } else {
                 if (isset($step['class'])) {
                     if (method_exists($step['class'], $step['function'])) {
                         $reflection = new ReflectionMethod($step['class'], $step['function']);
                     } else {
                         $reflection = new ReflectionMethod($step['class'], '__call');
                     }
                 } else {
                     $reflection = new ReflectionFunction($step['function']);
                 }
                 // Get the function parameters
                 $params = $reflection->getParameters();
             }
             $args = array();
             foreach ($step['args'] as $i => $arg) {
                 if (isset($params[$i])) {
                     // Assign the argument by the parameter name
                     $args[$params[$i]->name] = $arg;
                 } else {
                     // Assign the argument by number
                     $args[$i] = $arg;
                 }
             }
         }
         if (isset($step['class'])) {
             // Class->method() or Class::method()
             $function = $step['class'] . $step['type'] . $step['function'];
         }
         $output[] = array('function' => $function, 'args' => isset($args) ? $args : NULL, 'file' => isset($file) ? $file : NULL, 'line' => isset($line) ? $line : NULL, 'source' => isset($source) ? $source : NULL);
         unset($function, $args, $file, $line, $source);
     }
     return $output;
 }
开发者ID:anqqa,项目名称:Anqh,代码行数:77,代码来源:Kohana_Exception.php

示例3: if

          <ol class="trace">
            <li class="snippet">
              <p>
                <span class="file">
                  <?php 
echo Kohana_Exception::debug_path($file);
?>
[ <?php 
echo $line;
?>
 ]
                </span>
              </p>

              <div class="source">
                <? if (Kohana_Exception::$source_output and $source_code = Kohana_Exception::debug_source($file, $line)): ?><code><? foreach ($source_code as $num => $row): ?><span class="line <?php 
echo $num == $line ? "highlight" : "";
?>
"><span class="number"><?php 
echo $num;
?>
</span><?php 
echo htmlspecialchars($row, ENT_NOQUOTES, Kohana::CHARSET);
?>
</span><? endforeach ?></code>
                <? endif ?>
              </div>
            </li>

            <? if (Kohana_Exception::$trace_output): ?>
            <? foreach (Kohana_Exception::trace($trace) as $i => $step): ?>
开发者ID:kandsten,项目名称:gallery3,代码行数:31,代码来源:error_admin.html.php


注:本文中的Kohana_Exception::debug_source方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。