是否有任何免费的,轻量级的,非MVC模板系统用PHP制作纯粹的?我对Smarty不感兴趣。
答案 0 :(得分:5)
不确定
<?php require("Header.php"); ?>
<h1>Hello World</h1>
<p>I build sites without "smarty crap"!</p>
<?php require("Footer.php"); ?>
答案 1 :(得分:2)
这是我能找到的最轻量级的。
include("header.php");
答案 2 :(得分:1)
PHP Savant,基本上是内联PHP代码:http://phpsavant.com/
或者如果你真的想使用{template.syntax},你可能会看看TinyButStrong:http://tinybutstrong.com/
答案 3 :(得分:1)
试着看看Fabien Potencier的Twig。
答案 4 :(得分:0)
http://www.phpaddiction.com/tags/axial/url-routing-with-php-part-one/
我找到的最好的教程。我利用这一课将我的小型项目转换为OOP并放弃了过程。
这里有一个重要的警告,这让我意识到 - 如果你需要一个严肃的MVC,那么最好选择像CodeIgniter这样经过测试的稳定版本。我基本上使用这个tut来构建MVC的框架来挂起我的纯PHP(我不想重新学习所有的框架命令,而且我已经制作了许多我想要包含并继续使用的类。 )
这个啧啧帮助了几英里。
答案 5 :(得分:0)
这是我提出的一个小课程,可以快速模拟电子邮件。
/**
* Parses a php template, does variable substitution, and evaluates php code returning the result
* sample usage:
* == template : /views/email/welcome.php ==
* Hello {name}, Good to see you.
* <?php if ('{name}' == 'Mike') { ?>
* <div>I know you're mike</div>
* <?php } ?>
* == code ==
* require_once("path/to/Microtemplate.php") ;
* $data["name"] = 'Mike' ;
* $string = LR_Microtemplate::parse_template('email/welcome', $data) ;
*/
class Microtemplate
{
/**
* Micro-template: Replaces {variable} with $data['variable'] and evaluates any php code.
* @param string $view name of view under views/ dir. Must end in .php
* @param array $data array of data to use for replacement with keys mapping to template variables {}.
* @return string
*/
public static function parse_template($view, $data) {
$template = file_get_contents($view . ".php") ;
// substitute {x} with actual text value from array
$content = preg_replace("/\{([^\{]{1,100}?)\}/e", 'self::get_value("${1}", $data)' , $template);
// evaluate php code in the template such as if statements, for loops, etc...
ob_start() ;
eval('?>' . "$content" . '<?php ;') ;
$c = ob_get_contents() ;
ob_end_clean() ;
return $c ;
}
/**
* Return $data[$key] if it's set. Otherwise, empty string.
* @param string $key
* @param array $data
* @return string
*/
public static function get_value($key, $data){
if (isset($data[$key]) && $data[$key]!='~Unknown') { // filter out unknown from legacy system
return $data[$key] ;
} else {
return '' ;
}
}
}