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