guesswork classicではSmartyをデフォルトのテンプレートエンジンとしていますが、バージョン0.0.2以降ではコントローラクラスに以下のような設定を行うことで通常のPHPファイルをテンプレートとして利用することができます。
class FooController extends Controller
{
// 利用するテンプレートエンジンの設定
var $_gw_template_engine = 'default';
// テンプレートとして利用するPHPファイルを置くディレクトリ
var $_gw_template_templates_dir = '../php_templates';
// テンプレートファイルの拡張子(この設定は必須ではありません)
var $_gw_template_ext = 'php';
}
上記の設定を行うと、executeDefault()メソッドが実行された場合は ../php_templates/foo/default.php がテンプレートとして処理されるようになります。テンプレートファイル名の命名規則などはSmartyを利用した場合と同じです。
コントローラで定義されたクラス変数のうち、変数名がアンダースコア以外で始まるものは、$m というモデルクラスの変数に格納されてテンプレートに渡されます。例えばコントローラクラスに $name というクラス変数が定義されている場合は、
入力された名前は <?= $m->name ?> です。
というようにして参照することができます。また、文字列を出力する際に $this->e() というメソッドに文字列を渡すと特殊文字がHTMLエンティティに変換されて表示されます(PHPのhtmlspecialchars関数を使用しています)。
入力された名前は <?= $this->e($m->name) ?> です。