PHP code example of spatie / backtrace

1. Go to this page and download the library: Download spatie/backtrace library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

spatie / backtrace example snippets


// returns an array with `Spatie\Backtrace\Frame` instances
$frames = Spatie\Backtrace\Backtrace::create()->frames(); 

$firstFrame = $frames[0];

$firstFrame->file; // returns the file name
$firstFrame->lineNumber; // returns the line number
$firstFrame->class; // returns the class name

$backtrace = Spatie\Backtrace\Backtrace::create();

$frames = $backtrace->frames(); // contains an array with `Spatie\Backtrace\Frame` instances

$backtrace = Spatie\Backtrace\Backtrace::create()->withArguments();

$backtrace = Spatie\Backtrace\Backtrace::create()->withArguments()->reduceArguments();

class DateTimeWithOtherFormatArgumentReducer implements ArgumentReducer
{
    public function execute($argument): ReducedArgumentContract
    {
        if (! $argument instanceof DateTimeInterface) {
            return UnReducedArgument::create();
        }

        return new ReducedArgument(
            $argument->format('d/m/y H:i'),
            get_class($argument),
        );
    }
}

$backtrace = Spatie\Backtrace\Backtrace::create()->withArguments()->reduceArguments(
    Spatie\Backtrace\Arguments\ArgumentReducers::default([
        new DateTimeWithOtherFormatArgumentReducer()
    ])
);

$backtrace = Spatie\Backtrace\Backtrace::create()->applicationPath(base_path());

use Spatie\Backtrace\Backtrace;
use Spatie\Backtrace\Frame;

$frames = Backtrace::create()
    ->startingFromFrame(function (Frame $frame) {
        return $frame->class === MyClass::class;
    })
    ->frames();

$frames = Spatie\Backtrace\Backtrace::create()
    ->offset(2)
    ->frames();

$frames = Spatie\Backtrace\Backtrace::create()
    ->limit(2)
    ->frames();

$frames = Spatie\Backtrace\Backtrace::createForThrowable($throwable)