表示する他のphp「テンプレート」ファイルを含めることができるphpクラスを構築しようとしています。呼び出し元のスコープ内にあるすべての変数を、インクルード ファイルで使用できるようにしたいと考えています。ここに問題があります。コードを DRY に保つために、実際のインクルードをヘルパー メソッドに渡したいのです。これが私がこれまでに持っているものです:
/* TemplateLoader.php */
class TemplateLoader {
public function foo() {
$var = "FOO!";
//Works
include 'template.php';
}
public function bar() {
$var = "BAR!";
//Doesn't work
$this->render("template");
}
private function render( $name ) {
include $name . '.php';
}
}
/* template.php */
<?php echo $var; ?>
私の質問は、ヘルパーメソッドを使用して実際に「重労働」を実行しながら、テンプレートを元のメソッドに直接含めるという動作をどのように達成できますか? あなたが与えることができるどんな助けにも本当に感謝します!