for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Yiisoft\Yii\Debug\Collector;
use Yiisoft\Middleware\Dispatcher\Event\AfterMiddleware;
use Yiisoft\Middleware\Dispatcher\Event\BeforeMiddleware;
final class MiddlewareCollector implements CollectorInterface
{
use CollectorTrait;
private array $beforeStack = [];
private array $afterStack = [];
public function getCollected(): array
return [
'beforeStack' => $this->beforeStack,
'afterStack' => $this->afterStack,
];
}
public function collect(...$payload): void
$event = current($payload);
if (!is_object($event) || !$this->isActive()) {
return;
if ($event instanceof BeforeMiddleware) {
$this->beforeStack[] = [
'name' => get_class($event->getMiddleware()),
'time' => microtime(true),
'memory' => memory_get_usage(),
'request' => $event->getRequest(),
} elseif ($event instanceof AfterMiddleware) {
$this->afterStack[] = [
'response' => $event->getResponse(),
private function reset(): void
reset()
This check looks for private methods that have been defined, but are not used inside the class.
$this->beforeStack = [];
$this->afterStack = [];
This check looks for private methods that have been defined, but are not used inside the class.