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

From: Date: Wed, 19 Feb 2003 15:36:13 +0000
Subject: Re: [SMARTY-DEV] Support for NULL in Smarty?!
References: 1 2 3  Groups: php.smarty.dev 
Request: Send a blank email to php-smarty-dev+get-737@lists.php.net to get a copy of this message
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>

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