Re: [RFC] ifsetor operator

From: Date: Fri, 16 Apr 2004 20:02:42 +0000
Subject: Re: [RFC] ifsetor operator
Groups: php.internals 
Request: Send a blank email to internals+get-9275@lists.php.net to get a copy of this message
I completely agree with the EXACT way Marcus has proposed this operator. The key is that the first argument must be a Variable, because it is tested to see if it ISSET(), not if it's null. That is why you can't have any expression for the first argument - it would be like calling isset('foo'), which does not make any sense. I think that this internal function addresses the need exactly, and that the correct solution has been arrived at. Thanks Marcus! Sincerely, Jason Garber At 4/16/2004 09:38 PM +0200, Marcus Boerger wrote:
[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


« previous php.internals (#9275) next »