#23365 [Bgs->Opn]: global twice causes problems
| From: | spagmoid at yahoo dot com | Date: | Sat, 26 Apr 2003 20:59:01 +0000 |
| Subject: | #23365 [Bgs->Opn]: global twice causes problems | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-38471@lists.php.net to get a copy of this message | ||
ID: 23365
User updated by: spagmoid at yahoo dot com
Reported By: spagmoid at yahoo dot com
-Status: Bogus
+Status: Open
Bug Type: *General Issues
Operating System: WinXP
PHP Version: 4.3.1
New Comment:
I used to give very specific repro's. Now I don't bother spending 15
minutes to be precise because someone always comes along and spends a
total of 5 seconds before lazily marking things bogus. Maybe it's just
with classes, maybe its something else. Suffice it to say, problems
occur with global when they shouldn't. There's no reason to say:
$A = 1;
$A = 1;
either is there? So if $A was 2 afterward, that wouldn't be a bug?
There are valid reasons. Global should make something global period,
not screw it up. My reason is, I am requiring a file in 2 different
places, once in the global scope and once in a function. So I declare
global $Object, and if we are already in the global scope things screw
up. Now this is a bug. There are things called principles, like doing
something the right way even when you don't readily see a reason for
it.
I still don't expect any action on this, but now whoever bogusifies it
this time will at least have no Pontius Pilate excuse when you're
brought before the God of programming.
Previous Comments:
------------------------------------------------------------------------
[2003-04-26 15:51:13] pollita@php.net
Or, perhaps sniper bogusified it because it's bogus.
Let's leave out for the moment the sheer wrongness of globalizing a
variable twice in a row. That's not even at issue at the moment.
What you descibe simply doesn't occur (in PHP4 or PHP5).
It may be that there are special circumstances causing it to happen in
your script but since you failed to follow the instructions on how to
report a bug I'm simply writting my own script to test it.
<?php
function foo() {
global $bar;
global $bar;
echo $bar;
}
$bar = "baz";
foo();
?>
Outputs "baz" as expected.
If you decide to submit a proper bug report (with the minimally
necessary information), please do so by reopening this bug with the
updated information. NOT by creating a new bug. (Again, following
instructions is a good thing)
Oh, and on a personal note, insulting someone is not the best way to
illicit their help.
------------------------------------------------------------------------
[2003-04-26 15:35:04] spagmoid at yahoo dot com
If you declare a variable global twice, it gives you garbage the second
time. IE:
global $Bob;
global $Bob;
This was already reported, and sniper shot it down. That's what he
does apparently, shoots down valid bugs in the goal of keeping PHP as
buggy as possible! Maybe he works for Micro$oft?
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=23365&edit=1