コード例 #1
0
 /**
  * Get the frame args var_dump.
  * @param  \Whoops\Exception\Frame $frame [description]
  * @param  integer $line  [description]
  * @return string
  */
 private function getFrameArgsOutput(Frame $frame, $line)
 {
     if ($this->addTraceFunctionArgsToOutput() === false || $this->addTraceFunctionArgsToOutput() < $line) {
         return '';
     }
     // Dump the arguments:
     ob_start();
     var_dump($frame->getArgs());
     if (ob_get_length() > $this->getTraceFunctionArgsOutputLimit()) {
         // The argument var_dump is to big.
         // Discarded to limit memory usage.
         ob_clean();
         return sprintf("\n%sArguments dump length greater than %d Bytes. Discarded.", self::VAR_DUMP_PREFIX, $this->getTraceFunctionArgsOutputLimit());
     }
     return sprintf("\n%s", preg_replace('/^/m', self::VAR_DUMP_PREFIX, ob_get_clean()));
 }
コード例 #2
0
 /**
  * Format the args of the given Frame as a human readable html string
  *
  * @param  Frame $frame
  * @return string the rendered html
  */
 public function dumpArgs(Frame $frame)
 {
     // we support frame args only when the optional dumper is available
     if (!$this->getDumper()) {
         return '';
     }
     $html = '';
     $numFrames = count($frame->getArgs());
     if ($numFrames > 0) {
         $html = '<ol class="linenums">';
         foreach ($frame->getArgs() as $j => $frameArg) {
             $html .= '<li>' . $this->dump($frameArg) . '</li>';
         }
         $html .= '</ol>';
     }
     return $html;
 }
コード例 #3
0
 /**
  * Compares Frame against one another
  * @param  Frame $frame
  * @return bool
  */
 public function equals(Frame $frame)
 {
     if (!$this->getFile() || $this->getFile() === 'Unknown' || !$this->getLine()) {
         return false;
     }
     return $frame->getFile() === $this->getFile() && $frame->getLine() === $this->getLine();
 }