Hello,

On Wed, Aug 10, 2011 at 22:20, Stas Malyshev <smalys...@sugarcrm.com> wrote:
> Hi!
>
> On 8/10/11 1:12 PM, Sebastian Bergmann wrote:
>>
>>   Is this exepcted behaviour?
>>
>>     ➜  ~  cat test.php
>>     <?php
>>     class Foo {
>>         public static function bar() {
>>             print __METHOD__ . "\n";
>>         }
>>     }
>>
>>     $foo = new Foo;
>>     $foo::bar();
>>
>>
>>     ➜  ~  php test.php
>>     Foo::bar
>>
>>   I, for one, was surprised that this does what it does with PHP 5.3 and
>>   PHP 5.4 (do not have older version of PHP hand).
>>
>
> This is how FETCH_CLASS works now - when it has an object in where it
> expects class name, it uses object's class. We could call toString() instead
> but that might be even more surprising.

Well, FETCH_CLASS has always worked like that, but previously (<5.3)
variables for class references were only allowed as part of the "new"
statement,
e.g. new $obj; The semantic remains the same, only that now variables
are also allowed for :: calls (since 5.3).

> --
> Stanislav Malyshev, Software Architect
> SugarCRM: http://www.sugarcrm.com/
> (408)454-6900 ext. 227
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>



-- 
Etienne Kneuss
http://www.colder.ch

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to