Why would something like this not work?

strict class MyClass
{
    protected int $foo = 1;
    public string $bar = "strict keyword in front of class allows/enforces
strict properties";
    private string $isItReallyThatDifficult = "to implement this?";
}

On Tue, Jun 5, 2018 at 4:17 PM, Rowan Collins <rowan.coll...@gmail.com>
wrote:

> On 05/06/2018 08:22, Rudolph Gottesheim wrote:
>
>> There's always a lot of talk about types in the PHP community.
>> Specifically, many developers want property types, generics, function
>> signature types, union and intersection types, and more. Those talks (and
>> RFCs) always end with the same result: "We can't do it because performance
>> issues."
>>
>> Has there ever been a discussion about adding some of those features
>> syntactically, but ignoring them during runtime? At least until someone
>> finds a performant way to check them at runtime. That way we could have
>> advanced type checking in our editors at least.
>>
>
>
> Hi,
>
> I believe this is part of the original aim of Hack-Lang: the additional
> type features of that language are not part of the run-time, but checked by
> a static analysis tool offline. A number of languages have similar setups -
> Python and Dart both have the types as offline and/or development-mode-only
> features. Indeed, PHP seems to have gone a very unusual route in having a
> dynamic language with type constraints which are effectively always-on
> assertions.
>
> One of the problems with moving PHP to this offline-checking model is that
> people will expect new type constraints to work like existing ones, so may
> be caught out by them not being checked at run-time. Worse, static checks
> may not be able to detect certain violations; I don't know much about
> Hack's model, but I understand it includes both different levels of
> strictness, and restrictions on dynamic language features - things like
> references, "variable variables", and non-object callables.
>
> I do think it's an interesting question to think about though.
>
> Regards,
>
> --
> Rowan Collins
> [IMSoP]
>
>
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

Reply via email to