note 130452 added to language.variables.superglobals
| From: | caioenzo986@gmail.com | Date: | Wed, 20 Aug 2025 13:06:14 +0000 |
| Subject: | note 130452 added to language.variables.superglobals | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-222311@lists.php.net to get a copy of this message | ||
Desde o PHP 5.4, não é possÃvel usar uma superglobal como parâmetro para uma
função. Isso causa um erro fatal:
function foo($_GET) {
// whatever
}
Isso se chama "sombrear" uma superglobal, e não sei por que as pessoas fazem isso, mas
já vi por aÃ. A solução fácil é renomear a variável $get na função,
assumindo que o nome seja único.
Não havia nenhum aviso de descontinuação emitido em versões anteriores do PHP, de acordo
com meus testes, nem na 5.3 nem na 5.2. As mensagens de erro na 5.4 são:
Erro fatal: Não é possÃvel reatribuir a variável global automática _GET em...
Erro fatal: Não é possÃvel reatribuir a variável global automática _COOKIE em...
etc.
----
Server IP: 45.112.84.4
Probable Submitter: 45.112.84.18 (proxied: 189.71.140.131)
----
Manual Page -- https://php.net/manual/en/language.variables.superglobals.php
Edit -- https://main.php.net/note/edit/130452
Del: integrated -- https://main.php.net/note/delete/130452/integrated
Del: useless -- https://main.php.net/note/delete/130452/useless
Del: bad code -- https://main.php.net/note/delete/130452/bad+code
Del: spam -- https://main.php.net/note/delete/130452/spam
Del: non-english -- https://main.php.net/note/delete/130452/non-english
Del: in docs -- https://main.php.net/note/delete/130452/in+docs
Del: other reasons-- https://main.php.net/note/delete/130452
Reject -- https://main.php.net/note/reject/130452
Search -- https://main.php.net/manage/user-notes.php