Skip to content

Commit cc6fab2

Browse files
1.5.3
- [*] фикс для совместимости с PHP8+
1 parent 45ef8d4 commit cc6fab2

File tree

1 file changed

+21
-4
lines changed

1 file changed

+21
-4
lines changed

src/AppRouter.php

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,12 +125,19 @@ class AppRouter implements AppRouterInterface
125125
*/
126126
private static bool $debug_appendNamespaceOnDispatch = true;
127127

128+
/**
129+
* @var string[]
130+
*/
131+
public static array $route_parts;
132+
128133
public function __construct()
129134
{
130135
}
131136

132137
public static function init(LoggerInterface $logger = null, array $options = [])
133138
{
139+
self::$route_parts = \preg_split("/\/+/", \preg_replace("/(\?.*)/", "", trim($_SERVER['REQUEST_URI'], '/')));
140+
134141
self::$logger
135142
= ($logger instanceof LoggerInterface)
136143
? $logger
@@ -557,7 +564,12 @@ public static function dispatch()
557564
/**
558565
* @var Stack $middlewares_before
559566
*/
560-
$middlewares_before = $rule['middlewares']['before'];
567+
/*$middlewares_before
568+
= array_key_exists('middlewares', $rule) && array_key_exists('before', $rule['middlewares'])
569+
? $rule['middlewares']['before']
570+
: null;*/
571+
$middlewares_before = $rule['middlewares']['before'] ?? null;
572+
561573
if (!\is_null($middlewares_before) && !$middlewares_before->isEmpty()) {
562574
do {
563575
$middleware_handler = $middlewares_before->pop();
@@ -579,7 +591,12 @@ public static function dispatch()
579591
/**
580592
* @var Stack $middlewares_after
581593
*/
582-
$middlewares_after = $rule['middlewares']['after'];
594+
/*$middlewares_after
595+
= array_key_exists('middlewares', $rule) && array_key_exists('after', $rule['middlewares'])
596+
? $rule['middlewares']['after']
597+
: null;*/
598+
$middlewares_after = $rule['middlewares']['after'] ?? null;
599+
583600
if (!\is_null($middlewares_after) && !$middlewares_after->isEmpty()) {
584601
do {
585602
$middleware_handler = $middlewares_after->pop();
@@ -873,11 +890,11 @@ private static function getClosureInternalName($closure): string
873890
// создаем статичную функцию и сразу вызываем
874891
(static function ($r) {
875892
return
876-
array_map(
893+
\array_map(
877894
// обработчик
878895
static function($v)
879896
{
880-
return is_object($v) ? $v->name : $v;
897+
return \is_object($v) ? $v->name : $v;
881898
},
882899
// входной массив
883900
\array_merge(

0 commit comments

Comments
 (0)