Kohana3にSmartyを利用するサンプル

Smarty templateの作成

application/viewsにhello.tplというファイルを作成します。

<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<title>{$title}</title>
</head>
<body>
	hello, {$name}
</body>
</html>

Controllerの作成

hello.phpというControllerを作成します。

<?php defined('SYSPATH') or die('No direct script access.');

class Controller_Hello extends Controller {

	public function action_index()
	{
		$view = View::factory("smarty:hello");
		$view->name = "kinopyo!";
		$view->title = "Smarty & Kohana Sample";
		$this->request->response = $view;
	}
}

View::factoryに”smarty:”というプリフィックスを書くことでSmartyテンプレートとして認識してくれます。

動作確認

http://127.0.0.1/myapp/helloにアクセスし、”hello, kinopyo!”が表示されれば成功です。

Controller_Templateの場合

<?php defined('SYSPATH') or die('No direct script access.');

class Controller_Hello extends Controller_Template {

	public $template = 'smarty:hello';

	public function action_index()
	{
		$this->template->name = 'kinopyo!';
		$this->template->title = "Hello Title";
	}

}
Share the post
Qihuan Piao

朴 起煥

東京で働いている「外人歴」9年のソフトウェア「ライター」。いつの間にか納豆が食えるようになり、これで日本に慣れきったと思いきやまだまだ驚きが続いてる。読んだり書いたりするのが好きで、自身の経験や本から得た「何か」をここに書き出してる。最近古本屋にハマってる。