From 5f1ac65ed8ce8108184f62ea1730672a5b65b6ee Mon Sep 17 00:00:00 2001 From: Robert Date: Sat, 5 Apr 2025 23:51:24 -0400 Subject: [PATCH] arrays --- .gitignore | 1 + src/libs/Middleware.php | 10 +++++----- src/testMiddleware.php | 20 ++++++++++++++++---- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index d8a7996..0725063 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ composer.lock vendor/ +*.swp diff --git a/src/libs/Middleware.php b/src/libs/Middleware.php index ff1ff2a..31bd12b 100644 --- a/src/libs/Middleware.php +++ b/src/libs/Middleware.php @@ -4,7 +4,7 @@ namespace libs; interface Middleware { - public function handle($request, \Closure $next, ...$parameters); + public function handle(array $request, \Closure $next, mixed ...$parameters): mixed; } class Pipeline @@ -12,7 +12,7 @@ class Pipeline protected array $middleware = []; protected $request; - public function send($request): Object + public function send(array $request): Object { $this->request = $request; return $this; @@ -24,7 +24,7 @@ class Pipeline return $this; } - public function then(\Closure $destination) + public function then(\Closure $destination): array { $pipeline = array_reduce( array_reverse($this->parseMiddleware($this->middleware)), @@ -37,14 +37,14 @@ class Pipeline return $pipeline($this->request); } - protected function parseMiddleware(array $middleware) + protected function parseMiddleware(array $middleware): array { return array_map(function ($m) { return is_string($m) ? explode(':', $m, 2) : $m; }, $middleware); } - protected function carry() + protected function carry(): mixed { return function ($stack, $middleware) { return function ($request) use ($stack, $middleware) { diff --git a/src/testMiddleware.php b/src/testMiddleware.php index 3faa21f..47131f1 100644 --- a/src/testMiddleware.php +++ b/src/testMiddleware.php @@ -4,7 +4,10 @@ require "libs/autoload.php"; class TrimStrings implements libs\Middleware { - public function handle($request, \Closure $next, ...$parameters) + /** + * @param array $request + */ + public function handle(array $request, \Closure $next, mixed ...$parameters): mixed { foreach ($request as $key => $value) { if (is_string($value)) { @@ -18,7 +21,10 @@ class TrimStrings implements libs\Middleware class ucStrings implements libs\Middleware { - public function handle($request, \Closure $next, ...$parameters) + /** + * @param array $request + */ + public function handle(array $request, \Closure $next, mixed ...$parameters): mixed { foreach ($request as $key => $value) { if (is_string($value)) { @@ -32,7 +38,10 @@ class ucStrings implements libs\Middleware class ConvertEmptyStringsToNull implements libs\Middleware { - public function handle($request, \Closure $next, ...$parameters) + /** + * @param array $request + */ + public function handle(array $request, \Closure $next, mixed ...$parameters): mixed { foreach ($request as $key => $value) { if ($value === '') { @@ -46,7 +55,10 @@ class ConvertEmptyStringsToNull implements libs\Middleware class RoleCheck implements libs\Middleware { - public function handle($request, Closure $next, ...$parameters) + /** + * @param array $request + */ + public function handle(array $request, Closure $next, mixed ...$parameters): mixed { $role = $parameters[0] ?? ''; $level = $parameters[1] ?? 'high';