Ferenc Kovacs wrote on 19/01/2015 13:25:
On Mon, Jan 19, 2015 at 10:49 AM, Dmitry Stogov <dmi...@zend.com> wrote:

Despite of PEAR, I also found few other apps, from my usual test list,
broken - Typo3, Xoops, SugarCRM.
Magento is broken long time ago by "unified variable syntax".

I'm really unhappy with this direction...

Thanks. Dmitry.


I guess you already reported it to the pear guys, but just to be sure:
Tyrael | [17:17:14] laruence: you can ask the guys at #pear or simply
report the problem
Tyrael | [17:28:27] on github
Tyrael | [17:28:52] https://github.com/pear/pear-core
Tyrael | [17:35:55] as far as I can see all of the methods in
https://github.com/pear/pear-core/blob/06b171273752dc2012018067a3a3dd3505cb9c51/PEAR/Installer/Role.php
should be changed into static
Tyrael | [17:36:09] they are all called statically


Hm, I wasn't aware quite how strict this change was - I'm definitely on board with not allowing $this from an incompatible context, but thought it would only be access to $this that was made illegal, not the call itself. HHVM takes the approach of simply leaving $this undefined, but appears to special case get_class($this). http://3v4l.org/gKWBD http://3v4l.org/0gabo

Note that all the methods in that class are actually annotated as static using PHPDoc, but the file is annotated as compatible with both PHP 4 and 5. I suspect that there will be a lot of cases like this, where the methods are fully static, just not declared with the keyword (for compatibility with older versions, or just laziness); there is no risk of "$this from incompatible context" there.

Regards,
--
Rowan Collins
[IMSoP]

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

Reply via email to