summaryrefslogtreecommitdiffstats
path: root/core/namespace/Template/Template.php
blob: 25034a2d76c0207d0f6f4360357796aa0b134c95 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
namespace Template;

class Template {
	private $filename   = '';
	private $parameters = [];

	#===============================================================================
	# Create instance
	#===============================================================================
	public function __construct($filename) {
		$this->filename = $filename;

		if(!file_exists($filename)) {
			throw new Exception("Template file \"{$filename}\" does not exist.");
		}
	}

	#===============================================================================
	# Set parameter
	#===============================================================================
	public function set($name, $value) {
		return $this->parameters[$name] = $value;
	}

	#===============================================================================
	# Get parameter
	#===============================================================================
	public function get($name) {
		return $this->parameters[$name] ?? NULL;
	}

	#===============================================================================
	# Return HTML
	#===============================================================================
	public function __toString() {
		extract($this->parameters);

		ob_start();
		require $this->filename;
		return ob_get_clean();
	}
}