Re: Missing reflection info about strict types?
| From: | Fleshgrinder | 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
Attachment: [application/pgp-signature] OpenPGP digital signature signature.asc