Is there any way to achieve the master page concept of ASP.NET in PHP?
7 Answers
You could use a template engine like Smarty:
Although Smarty is known as a "Template Engine", it would be more accurately described as a "Template/Presentation Framework." That is, it provides the programmer and template designer with a wealth of tools to automate tasks commonly dealt with at the presentation layer of an application.

- 344,730
- 71
- 640
- 635
You can use auto_prepend_file
and auto_append_file
together with output buffering.

- 115,121
- 27
- 131
- 155
-
1I like output buffering as an easy, effective solution. Here's a guide that shows how to approximate master pages using output buffering - http://spinningtheweb.blogspot.com/2006/07/approximating-master-pages-in-php.html – Dan Jan 25 '11 at 07:47
-
I made a simple proof-of-concept for a asp-like master pages in PHP. You can get it here: http://code.google.com/p/phpmasterpages/

- 51
- 1
- 1
As other said, the way to go is to use a template engine. My preference goes to the Zend Framework, which is a bit more than just templates ;), but has a nice implementation of a layout with Zend_Layout that is very close to Master Pages in ASP.Net.
Check the quickstart guide to have an idea of how this works, and have a look at the full doc to see the possibilities offered by the framework. Plus, using the framework gives you a nice MVC architecture and SEO-friends rewritten URLs...

- 20,883
- 16
- 73
- 86
The best and easy way to do is using include as other said. Create a header.php and footer.php and include them in every page you want to use. The approach is bit different compare to asp.net master pages but is as powerful as master pages

- 77
- 1
- 12
Maybe just use include() since the variables in both file are in the same scope. Also ob_start() can record the output to the buffer so that the html codes can output later.

- 460
- 1
- 7
- 10