読者です 読者をやめる 読者になる 読者になる

PHPで簡単にViewクラスを作る

Smartyとかあるけど、PHPの良さってやっぱり半分テンプレートエンジン的な要素があることだと思ってます
わざわざその良さをなくしてしまうことはもったいない!


ここであげるのは、最低限の実装の方法だけ書いているので、
実際のViewクラスとしては使えないレベルのものですが、
ヘルパーの仕組みを作ったり、好みで拡張して簡単にViewクラスが作れます

※ob_start()とob_get_clean()の使い方がポイント!

Viewクラス

<?php
class View{
	private $_vars;
	function __construct(){
		$this->_vars = array();
	}
	//値のセット
	public function setValue( $key , $value ){
		$this->_vars[$key] = $value;
	}
	//値の取得
	public function getValue( $key ){
		return $this->_vars[$key];
	}
	//レンダリング
	public function render($file)
	{
		ob_start();
		include $file;
		return ob_get_clean();
	}
}

Template.php

<body>
<?=$this->getValue( 'hoge' )?>
</body>

実行

<?php
$view = new View();
$view->setValue( 'hoge' , 'テスト' );
echo $view->render( 'Template.php' );