Re: A couple questions about templating

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> I am trying to make a small, fast, and simple templating class...  Now
> I have mastered the art of variable replacement, and have made two
> versions.  The first one I made simply used file() to load up the file
> into an array,
Personally I think you should use file_get_contents() instead.

> str_replace() to replace variables, then it printed it
> back.
Unless you're doing only very basic substitution, you may need to
consider regex, and preg_replace().

> I made a second one, which reads the file into an array,
> changes the variables the same way, but instead compiles the finished
> product into a compile directory and then reads the compiled file back
> to the page.  the benefit to this being that I can easily create a
> simple cache system now.

All I'd change here, is that instead of reading the file into an
array, I'd load it into a string.

> 1st question)  I need a professionaly opinion on to which solution is
> better, considering speed, security, and expandability.
Depends on how it's implemented. When you 'compile' the script into
native php, you are having a highly optimised parser do the variabe
insertion. Your main problem here would be register_globals, so you
need to ensure that you initialise any variables used.

> 2nd question)  Like I said before, I've mastered the art of variable
> replacement, but how would one go about adding support for if {}
> statements as well as loops.  I'm a little bit lost when it comes to
> this.
You could use a full featured tokeniser/parser(and you'd probably IIRC
find one in Pear), but it may perhaps be simpler, to simply use preg
to replace something like {foreach:var:list}, or whatever your
perfered syntax.

> Thank-you guys very very much.
> --
> jamwil.com
> 
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 
>

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux