for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Modulate\Artisan\Interceptor;
use Illuminate\Foundation\Exceptions\Handler;
use Modulate\Artisan\Interceptor\Contracts\ArtisanHandler;
use Modulate\Artisan\Interceptor\Contracts\Handler as HandlerContract;
use Modulate\Artisan\Interceptor\Contracts\HandlerStack as HandlerStackContract;
class HandlerStack implements HandlerStackContract
{
/**
* Stores the handlers in the stack
*
* @var HandlerContract[]|ArtisanHandler[]
*/
protected array $stack = [];
* @inheritDoc
public function push(HandlerContract|ArtisanHandler $handler): HandlerStackContract
$this->stack[] = $handler;
return $this;
}
public function empty(): bool
return empty($this->stack);
public function current(): HandlerContract|ArtisanHandler|bool
return current($this->stack);
public function next(): HandlerContract|ArtisanHandler|bool
return next($this->stack);
public function reset(): void
reset($this->stack);
public function flush(): HandlerStackContract
$this->stack = [];