Re: [RFC] ifsetor operator
| From: | Wez Furlong | Date: | Fri, 16 Apr 2004 20:19:17 +0000 |
| Subject: | Re: [RFC] ifsetor operator | ||
| References: | 1 2 3 4 5 6 7 8 9 10 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-9279@lists.php.net to get a copy of this message | ||
It's worth nothing that, if T_IFSETOR was recognized by the
scanner as "?:", then Sascha/GCC "?:" operator is also implemented
by this patch, by changing the parser rule from this:
T_IFSETOR '(' variable ',' expr ')'
to this:
T_IFSETOR variable ':' expr
--Wez.
----- Original Message -----
From: "Marcus Boerger" <helly@php.net>
To: <internals@lists.php.net>
Cc: "Jason Garber" <jason@ionzoft.com>; "Andi Gutmans"
<andi@zend.com>
Sent: Friday, April 16, 2004 8:38 PM
Subject: [PHP-DEV] [RFC] ifsetor operator
> [RFC] ifsetor operator
>
> Hello List,
>
> i also agrre that an internal function is much better. And here is
> it as such an internal function (that does not result in an expensive
> function call).
>
> Synopsis: "ifsetor" "(" value "," default ")"
>
> Returns the value if it exists or a given default value.
>
> Syntax: "ifsetor" "(" variable [ "," expression ] ")"
>
> Semantic:
> - The value in question must be a variable.
> - The default value can be any expression.
> - The default value can be omitted in which case NULL will be used.
>
>
> http://marcus-boerger.de/php/ext/ze2/ze2-ifsetor-20040416-2.diff.txt
>
> best regards
> marcus
>
>
> Friday, April 16, 2004, 2:12:04 AM, you wrote:
>
> > Hello Jason,
>
> > here is your operator patch:
> >
> > http://marcus-boerger.de/php/ext/ze2/ze2-ifsetor-20040416.diff.txt
>
> > currently it uses the following syntax:
>
> > $var $: $defaul
>
> > which would equal
>
> > isset($var) ? $var : $default
>
> > Notice that at the moment the operator is '$:' and not '?:'. This is
> > because i haven't looked on how to solve the conflicts i get when i
> > use '?:'. If there is more interest in that operator i could invest
> > more work in trying to fix that problem.
>
> > best regards
> > marcus
>
> > According to your options and the possibility to implement this as a
> > function. That would only work as a parser internal function like empty
> > or set. Doing so would be very easy i guess. Though it would require a
> > new keyword say 'ifsetor' (which reflects its purpose more as
> > 'setor').
>
> > best regards
> > marcus
>
> [...]
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>