Hello Etienne, If static:: in static context behaves like $this in object context, it would be much meaningful. If we introduce the "meta class" concept in PHP, then each class is an instance of the meta class, thus we can treat a class as an object, and then it is natural that static members follow the rules of inheritance.
This may matches the running style of PHP better, which differs from other languages as PHP (under web environment) activates classes when request arrives, and shutdown them when request finishes, while other Object-Oriented languages persist classes and objects in memory. On Feb 11, 2008 9:03 PM, Etienne Kneuss <[EMAIL PROTECTED]> wrote: > Hello, > > your foo function is not defined as static, hence no static call is done. > > Strict Standards: Non-static method A::foo() should not be called > statically, assuming $this from incompatible context ... > > Define your method as static and it should work just fine. > > Regards > > On Feb 11, 2008 12:39 PM, Sebastian Deutsch > > <[EMAIL PROTECTED]> wrote: > > Hello, > > > > care... my case is slightly different. I was aware of that problem, but > > in my case I call B::foo() from the main scope - it behaves right - > > when I call it within the scope of C (same call) it behaves different. > > > > This is different as described in the bug. The same call should > > have the same output, not depending of the scope where I call it. > > > > Sebastian > > > > Lokrain schrieb: > > > > > > > Hello, Sebastian > > > > > > This seems to be a known bug http://bugs.php.net/bug.php?id=43408 and > in > > > fact already assigned. > > > > > > Fallbacks occur in static/self calls, as static/self resolve to "foo" > > >> and it returns foo as expected. > > >> > > >> However, when you do a parent::demo() you actually call bar::demo(), > > >> which is currently understood as a "fully qualified call": the caller > is > > >> not passed. > > >> > > >> There are plans to allow explicit parent call to pass the caller, but > > >> this is *still under discussion*. > > >> > > >> > > > > > > > > > -- > > PHP Internals - PHP Runtime Development Mailing List > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > > > > > -- > Etienne Kneuss > http://www.colder.ch > > Men never do evil so completely and cheerfully as > when they do it from a religious conviction. > -- Pascal > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > -- Best regards, Jingcheng Zhang Room 304, Dormitory 26 of Yuquan Campus, Zhejiang University P.R.China