note 130452 added to language.variables.superglobals

From: 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

« previous php.notes (#222311) next »