Версии: пхп - 7.3, сим - 5.0
Есть AclSubscriber, подписка на CONTROLLER. Функция check вызывается первой.
Вот собственно и онаpublic function check(ControllerEvent $event): void
{
$request = $event->getRequest();
if($request->headers->has('authorization')){
/** @var AccessTokenInterface $token */
$token = $this->container->get(AccessTokenInterface::class);
}else{
$token = null;
}
$acl = new AclPrivileges($token, $this->rules);
$a = (array) $event->getController();
$s = $a[1];
var_dump($s);
list($controller, $action) = [get_class($event->getController()), $s];
$resource = "{$controller}@{$action}";
$acl->isAllowed($resource);
return;
}
Самое замечательное вот что: Выдает нотис на строку
$s = $a[1];
, а именно на
$a[1]
, как видно, результат записывается в переменную
$s
, но при вардампе переменной выдается содержимое этой переменной (то же что и у $a[1]), таким образом получается вот такая история:
То есть по индексу в массиве есть значение "login", но пхп считает, что такого индекса не существует. Как такое может быть?