What is .tpl file in PHP web design? - GeeksforGeeks

08 Aug, 2021
TPL is a template file which is a common text file that contains user-defined variables that are entitled to be overridden by user-defined output content when a PHP web application parses the template file. These are used by web applications with server script PHP(but not restricted to) as a template file. Template code is the main content of a .tpl file, which comprises of mainly plain HTML texts tpl language is stored in .tpl files as plain text, so, it’s possible to edit a TPL file with simple text editors.
Situation to use:While it may seem easy to integrate PHP codes within HTML, it’s not considered a good code management practice as they become difficult for the design team to fairly maintain the files with a mixture of PHP tags and HTML tags. In such a scenario, template codes are used to separate the design from the development. Template files insulate PHP by offering a much simpler tag-based syntax. No PHP knowledge is essential to manage a template file. It is commonly more essential to web designers than PHP developers.
Few common areas where template files are added
Re-usability of code where the same design is shared between 3rd parties. Example – An online course portal where colleges make their own page to put their own courses.
In Content Management Systems or CMS .
A project where web designing team and the PHP development teams are different.
Procedure to use: To use web design with a template with PHP, we will use a framework called Smarty. Smarty is an open-source free framework that comes with simple tag-based template statements to provide clean maintainable presentation codes for a PHP web application.
Steps to get started with Smarty in Apache.
Download the latest Smarty from https://github.com/smarty-php/smarty/archive/master.zip.Unzip the file and add two folders template_c and cache.Configure the php.ini file by adding include_path=”.;path to where the libs folder is present in step 3′′.Make a folder in htdocs(root) named smarty and copy the folder configs from the original downloaded folder in step 3.Add another folder named templates and a PHP file index.php.Within templates folder add the template file index.tpl
Download the latest Smarty from https://github.com/smarty-php/smarty/archive/master.zip.
Unzip the file and add two folders template_c and cache.
Configure the php.ini file by adding include_path=”.;path to where the libs folder is present in step 3′′.
Make a folder in htdocs(root) named smarty and copy the folder configs from the original downloaded folder in step 3.
Add another folder named templates and a PHP file index.php.
Within templates folder add the template file index.tpl
Hence, in templates/index.tpl one can write all his template codes to handle presentations and in index.php all the php codes to handle data processing.
Example: We are demonstrating here a simple example to display data from a PHP file.
index.php:<?phpinclude('Smarty.class.php');  // create object$smarty = new Smarty;  // assign some content. This would typically come from// a database or other source, but we'll use static$smarty->assign('name', 'Soumit Sarkar');$smarty->assign('address', 'Kolkata');  // display it$smarty->display('templates/index.tpl');  ?>
<?phpinclude('Smarty.class.php');  // create object$smarty = new Smarty;  // assign some content. This would typically come from// a database or other source, but we'll use static$smarty->assign('name', 'Soumit Sarkar');$smarty->assign('address', 'Kolkata');  // display it$smarty->display('templates/index.tpl');  ?>
index.tpl:<html>    <head>        <title>Info</title>    </head>    <body>      <pre>       Hello Geeksforgeeks       Name: {$name}       Address: {$address}      </pre>    </body></html>
<html>    <head>        <title>Info</title>    </head>    <body>      <pre>       Hello Geeksforgeeks       Name: {$name}       Address: {$address}      </pre>    </body></html>
Output:
Advantages of using .tpl file:
Flexibility for custom development.
Clean code presentation.
Fast development or deployment for the programmers and the designers.
Quick and easy to maintain.
Easy re-usability of code
Security: insulation from PHP.
Practical Application of template files with PHP: A practical example of .tpl file in PHP is the template files used by Phorum. It is a PHP and MySQL-based open source message board system. The .tpl files display data which is dynamically generated by Phorum, such as information on messages, search-related results, and strings of private messages.The .tpl files have a specific format of template language which generally comprises HTML and simple Phorum template statements. Four data types are supported by these statements, which may be integers, strings, PHP constants, amd template variables.
Importance of .tpl file with PHP in Phorum: The Phorum uses .php files if they are placed in the template directory and are named with the appropriate basename besides using TPL files for storing simple template code. A TPL file comprises mainly style data and other information regarding the web pages of the PHP application.
If Phorum is displaying the header footer template, it first searches for header.php in the template directory and if the file does not exist, will then look for header.tpl. It’s not about just Phorum. Many other parsers and more often custom solutions use .tpl. Also if custom, one can place PHP codes inside the .tpl files too as they are quite robust. OpenCart is a good example of this and vBulletin, where inside the .tpl one can see use PHP codes inside it. That is the reason NGINX and many other servers come pre-built with precautions that prevent people from reading the .tpl files .
PHP-Misc
Picked
PHP
Web Technologies
PHP
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to Insert Form Data into Database using PHP ?
How to convert array to string in PHP ?
How to Upload Image into Database and Display it using PHP ?
How to check whether an array is empty using PHP?
PHP | Converting string to Date and DateTime
Remove elements from a JavaScript Array
Installation of Node.js on Linux
Convert a string to an integer in JavaScript
How to fetch data from an API in ReactJS ?
Top 10 Projects For Beginners To Practice HTML and CSS Skills