On Sat, Mar 14, 2015 at 7:19 PM, Philip Sturgeon <pjsturg...@gmail.com> wrote:
> On Fri, Mar 13, 2015 at 7:02 PM, Arvids Godjuks
> <arvids.godj...@gmail.com> wrote:
>>
>>
>> пт, 13 Мар 2015, 23:01, Philip Sturgeon <pjsturg...@gmail.com>:
>>
>>> Pavel,
>>>
>>> On Fri, Mar 13, 2015 at 3:38 PM, Pavel Kouřil <pajou...@gmail.com> wrote:
>>> > On Fri, Mar 13, 2015 at 4:45 PM, Anthony Ferrara <ircmax...@gmail.com>
>>> > wrote:
>>> >>
>>> >> But for today, I firmly believe that the Dual-Mode proposal is the
>>> >> only one that stands a chance of passing. I think it's the best chance
>>> >> for the language, and it's the only one that tries to unite the
>>> >> different usages of PHP into a single group, rather than alienating
>>> >> users.
>>> >>
>>> >
>>> > Hello,
>>> >
>>> > I see (as a userland developer) these problems with dual mode:
>>> > - It is a "setting" that changes the language's behavior; I don't
>>> > think that it matters whether or not it would be an INI setting or the
>>> > declare() one, because both of them are bad.
>>> > - It does not "unite different usages of PHP into a single group"; it
>>> > does exactly the opposite, splitting PHP usage into TWO groups.
>>> > - Once this dual mode would be introduced to PHP, there would probably
>>> > be no way of removing it later without massive BC break, once most
>>> > people would realize that it is really awful to have it in the
>>> > language.
>>> >
>>> > (There's probably more of them, but these are the biggest issues I
>>> > currently have.)
>>> >
>>> > Regards
>>> > Pavel Kouril
>>> >
>>> > --
>>> > PHP Internals - PHP Runtime Development Mailing List
>>> > To unsubscribe, visit: http://www.php.net/unsub.php
>>> >
>>>
>>> Hang on. This is not the time to nitpick things in various RFCs that
>>> have already been answered time and time again.
>>>
>>> An ini setting would be insane because taking an app that works on one
>>> machine and putting it on another would completely break the app.
>>> Hello anything using Composer, hello any CMS, hello any system moving
>>> to a new host that doesn't let you change ini settings, or you dont
>>> know how.
>>>
>>> A declare statement in the top of the file changing how that file
>>> handles things is hardly a problem, and is exactly how a lot of other
>>> languages do things. Hello JavaScript.
>>>
>>> It seems like you didn't read anything now you're just saying "it's
>>> bad" a lot. Please don't do that.
>>>
>>> --
>>> PHP Internals - PHP Runtime Development Mailing List
>>> To unsubscribe, visit: http://www.php.net/unsub.php
>>>
>> That declare thing with the removal of block-aware declare(){} kills one of
>> the fundamental optimizations you can do for large PHP projects - compacting
>> most used files into one single big file and caching it. And you never had
>> to  care what the files are - just splice it all together and let autoload
>> handle the rare cases. With single declare statement I effectivly have to
>> scan all the code, remove declare statements and choose a mode globally.
>> Well, it might work for a small project, but in a big project with multiple
>> teams or even multiple vendors doing different parts....
>>
>> At this point I have only swearing words for the proposing persons and
>> supporters.
>> It's magic_quotes and register_globals all over again, but this time you
>> can't fix it with some PHP code.
>>
>> You really had to fuck it all up for us, the userland developers, didn't
>> you?
>>
>> Sorry, but I now question the wisdom and sanity of most new PHP folks.
>> Because the old once see the danger and vote "no". And everyone just thinks
>> they act up. Well, you wrong. I will nit be surprised if they just leave the
>> project for good after this.
>
>
> Wow, that's a lot of rage over nothing. Here, I got you a gift:
>
> foreach (new DirectoryIterator('./src/**/*.php') as $fileInfo) {
>     $fileContents = file_get_contents($fileInfo->getFilename());
>
>     if (strpos($fileContents, 'declare(strict_types=1') !== 0) {
>       $fileContents = str_replace("declare(strict_types", "#
> declare(strict_types", $fileContents);
>       file_put_contents('./compiled/weak.php', $fileContents, FILE_APPEND);
>     } else {
>       file_put_contents('./compiled/strict.php', $fileContents, FILE_APPEND);
>     }
> }
>
> Tadaaaaaaa.
>
> Phil Sturgeon. Problem solver. Fixer of the bad day. Userland Ninjitsu. :)

I would like to appologize for my previous email. ..

It contained quite a serious oversight.

    if (strpos($fileContents, 'declare(strict_types=1') !== true) {

That's better.

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

Reply via email to