Re: [SMARTY-DEV] Question regarding constants

[email protected] (boots)
Newsgroups php.smarty.dev
Message-ID <[email protected]>
--- Robby Russell <[email protected]> wrote:
> At the top of Smarty.class.php you set a few constants.
> 
> Well, I have an app that now calls Smarty once typically, but there
> is a
> scenario where it calls another instance of Smarty within a function
> that might take a bit of work to get the code built to pass the
> object into this other process. 

In general, you should try to stick to one instance. Even so, if you
are using require_once, then you oughtn't be having any problems with
the redeclarations. In fact, if you are doing otherwise, I'm surprised
that you aren't having problems with the class being redeclared.

> We were getting an error with the constants being redefined and I
> changed them to:

You can probably get away with:
if (!defined('SMARTY_PHP_PASSTHRU')) {
     define('SMARTY_PHP_PASSTHRU',   0);
     define('SMARTY_PHP_QUOTE',      1);
     define('SMARTY_PHP_REMOVE',     2);
     define('SMARTY_PHP_ALLOW',      3);
}

But again, this shouldn't be required. It is also important to note
that with the possible exception of SMARTY_DIR, Smarty expects to be
able to define the SMARTY_* constants, for one thing, to prevent
tampering. If you are defining them yourself, don't.

xo boots

> to get around this. Is there any reason why we wouldn't just have the
> constants set to have these checks on them regardless in the default
> Smarty package?
> 
> Just seems like we should typically check if something exists
> (function, class, constant, etc) prior to setting them. 
> 
> just a curious geek,
> 
> -Robby
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.