|
Posted by Miles Thompson on 11/16/05 23:17
At 05:04 PM 11/16/2005, Brent Baisley wrote:
>You should separate HTML and PHP code into separate files to make it
>easily maintainable. Ideally, someone who knows HTML without any
>knowledge of PHP would be able to change the layout of the web page
>without breaking anything.
>There are a bunch of examples of how to do this, usually falling
>under the "MVC Design Pattern" title. That's Model, View, Controller.
>
>I use a simple substitution system to embed "tags" that represent
>data into my HTML files.
>
>The html file would look something like:
><table>
><tr><td>First Name</td>
><td>{:FirstName:}</td>
><tr><td>Last Name</td>
><td>{:LastName:}</td>
></table>
>
>The php file would be something like:
>$tpl = file_get_contents('htmlfile.htm');
>//Assign Data to tags
>$data['{:FirstName:}'] = 'Brent';
>$data['{:LastName:}'] = 'Baisley';
>//Get Tags to search on
>$tags = array_keys($data);
>
>//Populate html template with data
>$content = str_replace($tags, $data, $tpl);
>echo $tpl;
>
>
>That's an extremely simplified templating system and an over
>simplified example. But it shows how you can easily completely
>separate html from php, presentation from logic. I find it far easier
>to work on than any of your three examples. Most importantly, it
>allows more talented interface designer design your interface, while
>you focus on the php and logic.
>
<a lot of stuff snipped>
This
><td>{:FirstName:}</td>
is really so different from
<td> <?php echo $FirstName ?> </td>
Why learn a templating language on top of PHP? That's one of its reasons
for being.
Yes, it can be a bit of a hash at times. Of all the suggestion offered, if
I was dumped in and had to do so maintenance, Curt's was the cleanest example.
Cheers - Miles
Navigation:
[Reply to this message]
|