public function add($style, $p1, $p2 = null, $extra = [], $traceSteps = 4)
{
$extra['trace'] = $this->getTrace($traceSteps);
if (starts_with($extra['trace'], 'PhpEngine.php')) {
$extra['trace'] = 'BLADE';
}
$name = isset($p2) ? $p1 : $p2;
$value = isset($p2) ? $p2 : $p1;
if ($style == 'table') {
if (!is_array($value)) {
if (get_class($value) == "Illuminate\\Pagination\\LengthAwarePaginator") {
$value = $value->getCollection()->toArray();
} elseif (in_array('toArray', get_class_methods(get_class($value)))) {
$value = $value->toArray();
}
}
$value = json_decode(json_encode($value), true);
}
$name = isset($name) ? $name : '';
$this->stack[] = array_merge(['name' => $name, 'value' => $value, 'style' => $style], $extra);
}