Re: Missing reflection info about strict types?

From: Date: Mon, 05 Sep 2016 20:48:25 +0000
Subject: Re: Missing reflection info about strict types?
References: 1 2 3 4 5 6 7 8 9 10 11  Groups: php.internals 
Request: Send a blank email to internals+get-95676@lists.php.net to get a copy of this message
On 9/5/2016 10:38 PM, Nikita Popov wrote: > Stripping strict_types declaration will change the behavior of the code > declared *within those files* (not the code calling that code). The > behavior should not change in the merge process. > > As I see it, the issue here is really not how to figure out whether a file > uses strict_types, the issue is how you mix strict_types=1 and > strict_types=0 code in a single file. > > Back when this feature was introduced, we decided not to allow this kind of > mixing, as it seemed prone to causing a mess and use-cases seemed doubtful. > Given the issue Symfony is experiencing, we should reevaluate this > decision. Imho it's not good if there are some things you simply *cannot* > express in a single file. > > Nikita > Well, I still think that the declare approach is kind of weird and creates two PHP worlds and that it would be easier if scalar type hints are always enforced. However, I do not see why it is an issue for Symfony here. One can use the tokenizer to check if a file has a strict declare in it and instead of creating a single output file create two. One that has no strict declare and one that has a strict declare. It might have a slight performance impact compared to a single file but it solves the issue at hand. The issue you describe (inability to express something in a single file) is part of the design of declare ... -- Richard "Fleshgrinder" Fussenegger

Attachment: [application/pgp-signature] OpenPGP digital signature signature.asc
« previous php.internals (#95676) next »