Re: [SMARTY-DEV] Support for NULL in Smarty?!

From: Date: Wed, 19 Feb 2003 15:58:22 +0000
Subject: Re: [SMARTY-DEV] Support for NULL in Smarty?!
References: 1 2 3 4  Groups: php.smarty.dev 
Request: Send a blank email to php-smarty-dev+get-740@lists.php.net to get a copy of this message
patch is committed for allowing null (fixed a couple little things with true/false too) Monte On Wed, 2003-02-19 at 09:36, Monte Ohrt wrote: > I don't see any problem with allowing null. > > On Wed, 2003-02-19 at 09:24, André Rabold wrote: > > Hi Monte, > > > > > Try CVS first, I think the true/false 0/1 issue is already patched. > > > > The patch below applies to the newest CVS from ~ 3:00 p.m. > > > > > As for null, example of what you want to do? > > > > For example a function: (simplified) > > > > smarty_function_buildURL ($params, &$smarty) > > $url = array(); > > if (isset($params["params"])) > > $url = $params; > > foreach ($params as $key => $value) { > > if ($key == "params") continue; > > if (is_null($params[$key])) > > unset($url[$key]); > > else > > $url[$key] = $value; > > } > > // [...] some stuff cutted here > > return "index.php?".implode("&", $url); > > } > > > > In my template I use this > > <a href="{buildURL params=$smarty.get bar="foo"}">foo</a> > > > > this outputs for example: > > index.php?a=5&b=7&c=9&bar=foo > > > > If I don't want a variable in my url which appears in $smarty.get > > if do this {buildURL param=$smarty.get a=null}. > > The result of {buildURL param=$smarty.get a=""} would be > > different. In this case a would be an empty string and not "nothing". > > This is only one example (regardless of the usability of the above > > function). > > > > Another argument is (at least for me) that NULL is a common > > expression in PHP as TRUE and FALSE are. So why allow TRUE > > and FALSE but disallow NULL. > > > > > > bye, > > André > > > > > > > > "Monte Ohrt" <monte@ispi.net> schrieb im Newsbeitrag > > news:1045666432.28271.20.camel@lena.ispi.prv... > > > > > > As for null, example of what you want to do? > > > > > > On Wed, 2003-02-19 at 08:42, André Rabold wrote: > > > > It was already discussed some time ago ... but I cannot find the thread > > > > anymore and I cannot remember if a decission was made. > > > > > > > > I cannot use NULL as a function parameter in Smarty. But it would be > > very > > > > usefull for me to explicitly set some vars to NULL. For example if a > > > > function has set a parameter to a default value other that "" or NULL. > > > > > > > > One other thing I discovered is the behaviour of TRUE and FALSE within a > > > > template. Both get compiled as 1 or 0 not as true / false. It's nearly > > the > > > > same but not exacly. > > > > > > > > So I have created patch which "fixed" the TRUE/FALSE and adds support > > for > > > > NULL: > > > > > > > > Index: Smarty_Compiler.class.php > > > > =================================================================== > > > > RCS file: /repository/smarty/Smarty_Compiler.class.php,v > > > > retrieving revision 1.177 > > > > diff -r1.177 Smarty_Compiler.class.php > > > > 56c56 > > > > < var $_permitted_tokens = > > > > array('true','false','yes','no','on','off'); > > > > --- > > > > > var $_permitted_tokens = > > > > > > > > array('true','false','yes','no','on','off','null'); > > > > 664a665,666 > > > > > if (is_null($arg_value)) > > > > > $arg_value = 'null'; > > > > 1345c1347 > > > > < $token = true; > > > > --- > > > > > $token = 'true'; > > > > 1347c1349,1351 > > > > < $token = false; > > > > --- > > > > > $token = 'false'; > > > > > } else if ($token == 'null') { > > > > > $token = 'null'; > > > > > > > > > > > > > > > > > > > > Good or bad? > > > > > > > > André > > > -- > > > Monte Ohrt <monte@ispi.net> > > > > -- > Monte Ohrt <monte@ispi.net> -- Monte Ohrt <monte@ispi.net>

« previous php.smarty.dev (#740) next »