
Jesús Manuel Mejía Rojas
PreguntaDeprecated: Unparenthesized
a ? b : c ? d : e
(a ? b : c) ? d : e
a ? b : (c ? d : e)
Tengo este error alguien me podria ayudar… Gracias

Arturo Soga
ve a la dirección: C:\xampp\htdocs\php-database-crud-master\vendor\twig\twig\lib\Twig\Node.php on line 42
y en la parte del operador ternario agrega "()":
( is_object($node) ? get_class($node) : null)
para que php pueda distinguir el anidamiento de los operadores ternarios.

Leandro Vasco Vasco
"? variable : " es el operador ternario de PHP, un pequeño IF. Desde la versión de PHP 7.4 no se puede usar anidado, es decir, varios operadores ternarios concatenados (https://www.php.net/manual/es/migration74.deprecated.php). Si bien uno pensaría que debería resolverlo de izquierda a derecha habían personas que no querían ese comportamiento (?).
Para solucionarlo hay que decirle a PHP cuál operador ternario querés hacer primero, esto es poniendo entre paréntesis el que quieras en primer orden, por eso dice que podés usar "(a ? b : c) ? d : e" o "a ? b : (c ? d : e)".