On Sun, Mar 23, 2008 at 7:32 AM, Terry Burns-Dyson
<[EMAIL PROTECTED]> wrote:
> I'm trying to write a template system, my template is the HTML layout, and
>  my content is fetched from another source. However I don't quite understand
>  how to output the template so that all the variables are parsed by PHP.
>  Simple version of what I'm trying to do;
>
>  ob_start( );
>
>  extract( $params, EXTR_PREFIX_SAME, "am_");
>
>  $pageContent = file_get_contents( "page_to_display.html");
>
>  include( "template.html");
>
>  echo ob_get_clean( );
>
>
>  $pageTitle is in the template, it's replaced, $pageContent is in the
>  template, it's replaced. But any variables within the page_to_display are
>  simply output into the page rather than processed by PHP.  I realise that
>  file_get_contents is basically returning a string and I"m just doing string
>  replacement when I include the template.html, so my only question is, what's
>  the actual way of doing this?
>
>  Thanks
>
>
>  --
>  PHP General Mailing List (http://www.php.net/)
>  To unsubscribe, visit: http://www.php.net/unsub.php
>
>

I used to use this extract/include methodology before I really thought
about the performance aspect of it.  I would create a template object
that could have variables injected into it and then tell it to
render().  The render process would extract everything in the data
array & include a template file.

After I found out about xdebug I stopped doing this.

Now my approach is more in line of the Zend_View[1] template engine.
Just a generic class to define the path to the template, a way to put
variables into it, and a render function.  The big difference this
time is that instead of extract I just use $this-> inside the
template.

[1] http://framework.zend.com/manual/en/zend.view.html

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

Reply via email to