سلام و احترام
کاری که من انجام دادم رو ممنون میشم بررسی کنید و ببنید آیا درست هستش
در متود add و با استفاده از تابع array_merge میدل ور گلوبال داده شده که اگه true یا false بشه فعال و غیر فعال میشه در تمامی پروژه
public static function add( $method, $uri, $action, $middleware = [])
{
$newMidlleware = array_merge($middleware , ['middlewareGlobal'=> true]);
$method = is_array( $method ) ? $method : [$method];
self::$routes [] = [
'method' => $method,
'uri' => $uri,
'action' => $action,
'middleware' => $newMidlleware
];
}
و شرطی که در Route قرار داده میشه
public function run() { if($this->courentRoute['middleware']['middlewareGlobal'] === true){ die('echo 123'); //add your middleware } foreach($this->courentRoute['middleware'] as $middleware){ if(class_exists($middleware)){ $salam = new $middleware; $salam->handle(); } } if(!$this->invalidRequest($this->request)){ $this->dispatch405(); } if(is_null($this->courentRoute)){ $this->dispatch404(); } if(is_null($this->courentRoute['action']) && empty($this->courentRoute['action']) ){ return; } $this->dispatch(); }