39 lines
870 B
PHP
39 lines
870 B
PHP
<?php namespace Clockwork\Helpers;
|
|
|
|
// A single frame of a stack trace
|
|
class StackFrame
|
|
{
|
|
public $call;
|
|
public $function;
|
|
public $line;
|
|
public $file;
|
|
public $class;
|
|
public $object;
|
|
public $type;
|
|
public $args = [];
|
|
public $shortPath;
|
|
public $vendor;
|
|
|
|
public function __construct(array $data = [], $basePath = '', $vendorPath = '')
|
|
{
|
|
foreach ($data as $key => $value) {
|
|
$this->$key = $value;
|
|
}
|
|
|
|
$this->call = $this->formatCall();
|
|
|
|
$this->shortPath = $this->file ? str_replace($basePath, '', $this->file) : null;
|
|
$this->vendor = ($this->file && strpos($this->file, $vendorPath) === 0)
|
|
? explode(DIRECTORY_SEPARATOR, str_replace($vendorPath, '', $this->file))[0] : null;
|
|
}
|
|
|
|
protected function formatCall()
|
|
{
|
|
if ($this->class) {
|
|
return "{$this->class}{$this->type}{$this->function}()";
|
|
} else {
|
|
return "{$this->function}()";
|
|
}
|
|
}
|
|
}
|