何が良いのかあまり共感を呼び辛いかもしれませんが、テンプレートエンジンを作りました。

Raw Template Engine 0.1

特徴:

  • 新しいテンプレ文法覚えたくない → テンプレがPHP
  • 新しい使い方覚えたくない → Smartyと使い方(メソッド)が同じ
  • chmodしたくない → キャッシュしない(一時ファイルを作らない)
  • 複雑なものは使いたくない → 15行

という後ろ向きなライブラリです。下記、使い方です。

テンプレ:

<html>
<head>
<title><?=$title?></title>
</head>

<body>
<h1><?=$title?><h1>
<hr />
<h2>Methods</2>
<ul>
<?foreach ($methods as $method):?>
    <li><?=$method?></li>
<?endforeach;?>
</ul>
</body>
</html>

PHP:

<?php
include_once("Raw.php");

$raw =& new Raw();
$raw->assign("title", "Raw Template Engine");
$raw->assign("methods", array("assign", "assign_by_ref", "fetch", "display"));
$raw->display("index.php");

ライブラリ:

<?php
//
// Raw Template Engine - the template engine using raw php.
//
// Copyright (C) 2005 Masaki Komagata <komagata@p0t.jp> 
//     All rights reserved.
//     This is free software with ABSOLUTELY NO WARRANTY.
//
// You can redistribute it and/or modify it under the terms of 
// the PHP License, version 3.0.
//
class Raw {
    var $template_dir = "templates/";
    var $template_vars = array();
    function assign($name, $value) { $this->template_vars[$name] = $value; }
    function assign_by_ref($name, &$value) { $this->template_vars[$name] =& $value; }
    function display($template) { echo $this->fetch($template); }
    function fetch($template) {
        extract($this->template_vars);
        ob_start();
        include($this->template_dir.$template);
        $result = ob_get_contents();
        ob_end_clean();
        return $result;
    }
}

表示:

raw.png

賢明なみなさまのこと、一瞥しただけで全てが把握できたことでしょう。
やっつけ仕事や組み込み用途に!

Comments


Option