Re: Object Type Casting Reloaded
| From: | azjezz | Date: | Tue, 23 Apr 2019 00:50:30 +0000 |
| Subject: | Re: Object Type Casting Reloaded | ||
| References: | 1 2 3 4 5 6 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-105340@lists.php.net to get a copy of this message | ||
I think we would be talking about typed variables at that point.
( something you can do with PHP 7.4 http://github.com/azjezz/typed )
even though
as is used with foreach, i don't think it would be an
issue to use it for something else, but i think i will leave that to someone who's more
familiar with the PHP parser than me.
Cheers.
Sent with ProtonMail Secure Email.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Tuesday, April 23, 2019 1:43 AM, Stephen Reay <php-lists@koalephant.com> wrote:
> > On 23 Apr 2019, at 06:30, azjezz azjezz@protonmail.com wrote:
> > Hello Ben.
> > yes, i have made a gist with a simple example to show the asï´
> > see :
> > https://gist.github.com/azjezz/03955ff2b009f1ced22ce68c9a862847
> > Sent with ProtonMail Secure Email.
> > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> >
> > > On Monday, April 22, 2019 11:50 PM, Benjamin Morel benjamin.morel@gmail.com wrote:
> > > Hi Azjezz, thanks for jumping in!
> > >
> > > > I have been using HackLang for quite a while now and i believe they have a
> > > > better solution for this, and it would awesome to see it in PHP, the
> > > > as operator.
> > >
> > > If I understand correctly, as is an operator that
> > > performs type checks but never casts like () does.
> > > This looks like a serious candidate for an alternative syntax to the one I proposed!
> > >
> > > - Ben
>
> I like the idea but I find the syntax (both suggestions) less than great, given that there’s
> already “ensure a type” syntax, and both suggestions are already used for other things (casting
> and foreach)
>
> Is there some reason (eg ambiguities) a type can’t just be placed before a variable to ensure
> a type, similar to a function parameter or typed property?
>
> Eg
>
> string $foo = 'bar';
> array $bar = getBar();
> foreach($bar as int $k => string $v) {...}
>
> Cheers
>
> Stephen