Author - StudySection Post Views - 100 views
Pattern In PHP

Template View Pattern In PHP with Example

In MVC design, The Model is application-specific. The Controller layer is a hybrid of the two patterns, and a View component is required to round out the picture. While using the MVC approach, the data is not fetched into the view script by directly accessing the model Instead of that, the dynamic data used in the Template View is sent to it by the Controller.

Dynamic web pages are a set of HTML code that contains dynamic points built on the Template View design. PHP template engines take the Template View a level further by allowing you to write a dynamic web page as you would a static page, but with a syntax for markers and parse indicating where you want dynamic content to be fetched and displayed instead of directly executing it. As a result, these views come in different file types, such as .tpl, .twig, and .blade in addition to .php files. Popular examples of this are Ruby on Rails templates, Laravel templates, CakePHP templates, and many other PHP frameworks and languages that follow the MVC structure. The template page usually refers to a helper object, which then refers to model objects. The model receives its business logic from the helper.

The primary benefit of using this design is the clear separation of presentation logic from business logic. So people with only basic PHP knowledge can now freely create HTML like web designers. This means that you can easily divide the development and design tasks among your members. The template view pattern is also easy to maintain and update, as it helps to increase code reusability.

Please check the example for more understanding. This is a basic MVC structure example of a template view with some methods. We are going to explain it by using a book page template. We have a simple Book model class that contains data and logic to display Book information.
<?php
class Book {
private $id = 101;
private $title = ‘Basic Template view Example’;
private $author = 'Webners';
public function __construct($id, $title, $author) {
$this->id = $id;
$this->title = $title;
$this->author = $author;
}
public function getID () {
return $this->id;
}
public function getTitle () {
return $this->title;
}
public function getAuthor () {
return $this->author; }
}
?>

Now, we need to make a simple BookController class that contains the business logic for showing book information. The Controller retrieves the book data from the model, handles any mistakes, and then sends the data to the View for rendering.
class BookController {
public function showBook($id) {
$book = BookRepository::findById($id);
if (!$book) {
// handle error
return;
}
$view = new BookView();
$view->render($book);
}
}

Now we will create a simple HTML view that displays the Book title, author, etc. The view fetches data from the Controller and renders it in the HTML output.
<!DOCTYPE html>
<html>
<head>
<title>Book Information</title>
</head>
<body>
<h1><?php echo $book->getTitle(); ?></h1>
<p>author: <?php echo $book->getAuthor(); ?></p>
// other contents display
</body>
</html>

jQuery presents a tree-like structure of all the elements on a webpage simplifying the syntax and further manipulating such elements. The jQuery Certification exam by StudySection will secure your fundamental knowledge and a basic understanding of jQuery as an asset to improve your skills.

Leave a Reply

Your email address will not be published.