Re: foreach() broken
| From: | Sebastian Bergmann | Date: | Sun, 14 Sep 2003 10:15:43 +0000 |
| Subject: | Re: foreach() broken | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-4473@lists.php.net to get a copy of this message | ||
Sebastian Bergmann wrote:
> I was not able to strip the application I'm seeing this in down to a
> small, reproducing snippet, yet.
Okay, here goes:
<?php
class Foo {
function doFoo() {
print_r($this);
}
}
class Bar {
function doBar() {
Foo::doFoo();
}
}
$bar = new Bar;
$bar->doBar();
?>
bar Object
(
)
I know that this code's logic is wrong (after the latest refactoring of
the previously mentioned application I had a leftover (no unit tests,
yet *sigh*) where a method was previously static).
But still. Is this the correct behaviour?
And why does
class Foo {
static function doFoo() {
print_r($this);
}
}
give a
Notice: Undefined variable: this
instead of the appropriate $this / object context warning?
Confused,
Sebastian
--
Sebastian Bergmann
http://sebastian-bergmann.de/ http://phpOpenTracker.de/
Das Buch zu PHP 5: http://professionelle-softwareentwicklung-mit-php5.de/