forked from wallabag/wallabag
PicoFarad framework for routing
This commit is contained in:
36
inc/3rdparty/PicoFarad/Template.php
vendored
Normal file
36
inc/3rdparty/PicoFarad/Template.php
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace PicoFarad\Template;
|
||||
|
||||
const PATH = 'templates/';
|
||||
|
||||
// Template\load('template_name', ['bla' => 'value']);
|
||||
function load()
|
||||
{
|
||||
if (func_num_args() < 1 || func_num_args() > 2) {
|
||||
die('Invalid template arguments');
|
||||
}
|
||||
|
||||
if (! file_exists(PATH.func_get_arg(0).'.php')) {
|
||||
die('Unable to load the template: "'.func_get_arg(0).'"');
|
||||
}
|
||||
|
||||
if (func_num_args() === 2) {
|
||||
|
||||
if (! is_array(func_get_arg(1))) {
|
||||
die('Template variables must be an array');
|
||||
}
|
||||
|
||||
extract(func_get_arg(1));
|
||||
}
|
||||
|
||||
ob_start();
|
||||
include PATH.func_get_arg(0).'.php';
|
||||
return ob_get_clean();
|
||||
}
|
||||
|
||||
|
||||
function layout($template_name, array $template_args = array(), $layout_name = 'layout')
|
||||
{
|
||||
return load($layout_name, $template_args + array('content_for_layout' => load($template_name, $template_args)));
|
||||
}
|
||||
Reference in New Issue
Block a user