For Programmers: Free Programming Magazines  


Home > Archive > PHP Smarty Templates > July 2007 > Feature req/idea: storing variables in cached templates









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Feature req/idea: storing variables in cached templates
Joey Korkames

2007-07-17, 7:12 pm

Hi Smarty team, just wanted to start by saying that you've all built a
great piece of software. It's fantastic.

I had a little conundrum which is not really killing me but it leaves
just a niggling little want.

I was wondering how breaking it would be to be able to load variables
from a precompiled/cached smarty template and use these variables in
one's application code, before displaying that cached template (using a
func like get_cached_template_vars()
<http://smarty.php.net/manual/en/api...mplate.vars.php> ) . I was
looking at those 2 lines of metadata in the cached template files, which
gave me the idea. I figure that, for recovering very small procedural
booleans, it beats the hell out of building your own data caching store
when smarty's is already so well done.

My specific application of this is have dynamically-generated HTTP
headers (containing a seed-value from the time the template was
compiled) sent before my cached HTML templates, which can only be done
from the application code and not in any portion of the smarty toolchain
(from all the ways I've tried to test). Maybe I'm wrong there, but I
ain't bright enough to prove it. I don't see the smarty class putting
any uninvited carriage-returns (and other weird text) between the
header()s it does and the echo() of the compiled template, but I imagine
PHP does some protection and special lexing of header() calls vs. echo()
(like when I try to put the raw HTTP header text in the template) -
enough difference to make the web server change from the HTTP track to
the HTML track and thus making my headers go out as content instead of
preceding it.

If my idea ain't ludicrous, I venture there should also be an attribute
to smarty->assign() that would be specified by the programmer to
indicate each variable that he would like stored with cached template,
rather than smarty assuming it should be so (in case of large arrays and
such)?

Unless I'm missing something, it doesn't seem like outputfilters are
applied to display()s of cached templates - and even if they did, the
lazy dev is still obligated to find a place to store/retrieve his old
variables from.


Thanks,
Joey
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com