No PHP 8.1 não dá para utilizar/ não funciona a função setAccessible, pois por padrão todos os métodos e parâmetros são acessíveis pelo reflection, não podendo até mesmo impedir o acesso com o setAccessible(false);
No PHP 8.1 não dá para utilizar/ não funciona a função setAccessible, pois por padrão todos os métodos e parâmetros são acessíveis pelo reflection, não podendo até mesmo impedir o acesso com o setAccessible(false);
Olá, Jean! Tudo bem com você? Espero que sim!
Peço desculpa pela demora em responder o seu tópico.
Realmente no PHP 8.1 houve uma mudança no comportamento da função setAccessible
. Que anteriormente, era possível utilizar essa função para tornar métodos e parâmetros inacessíveis através do reflection
. No entanto, a partir do PHP 8.1, essa função não tem mais efeito, pois por padrão todos os métodos e parâmetros são acessíveis pelo reflection
.
Isso significa que você não pode mais impedir o acesso aos métodos e parâmetros utilizando o setAccessible(false)
. Essa mudança foi feita para melhorar a segurança e consistência do PHP.
Agradeço por compartilhar essa informação aqui no fórum, tenho certeza que ajudará os alunos que tiverem problemas acerca dessa incompatibilidade.
Caso durante os seus estudos você tenha dúvidas ou problemas, você pode recorrer ao fórum, onde contamos com uma grande comunidade que está sempre aqui para ajudá-lo.
Abraços e bons estudos!