ご注意ください

このWikiに書かれた情報は、Risoluto1.x系に関するものです。 Risoluto1.x系は開発が終了しており、現在Risoluto2.x系の開発が進められています。

最近の更新

2012-10-11
2012-04-05
2012-03-27

最新リリース情報

risoluto (1.3.1)2011-09-27 15:41
risoluto-upgrade (1.3.0 to 1.3.1)2011-10-24 15:51
simpleblog (1.4.0)2011-10-19 14:50
simpleblog-upgrade (1.2.0 to 1.3.0)2011-07-21 23:13
simplepage (1.3.0)2011-10-19 14:45
simplepage-upgrade (1.1.0 to 1.2.0)2011-07-21 23:15

Wikiガイド

サイドバー

戻る

Step3:テンプレートエンジンを使ってみる

このチュートリアルを行う前に……

  • Risolutoのセットアップが終了している必要があります
  • Smartyが使用可能となっている必要があります

画面に何か表示させてみよう

Step2まで無事に動作させることができているのであれば、動的要素のない画面を使ったものくらいは作れるようになっているはずです。……でも、ちょっと待ってください。いちいちPHPのコードで出力内容を書くのは面倒ではありませんか?*1

もし、Risolutoのインストーラが動いているなら、Smartyが使用可能なはずです*2。どうせなら、Smartyを使った画面表示を行ってみましょう*3

では、実際のコードを見てみましょう。

  1. <?php
  2. require_once( 'Smarty.class.php' );
  3. class sample03
  4. {
  5. private $smarty;
  6. public function init()
  7. {
  8. $this->smarty = new Smarty;
  9. $this->smarty->template_dir = RISOLUTO_USERLAND . "samples";
  10. $this->smarty->config_dir = RISOLUTO_USERLAND . "samples";
  11. $this->smarty->compile_dir = RISOLUTO_CACHE;
  12. $this->smarty->cache_dir = RISOLUTO_CACHE;
  13. $this->smarty->caching = false;
  14. $this->smarty->debugging = false;
  15. $this->smarty->force_compile = true;
  16. $this->smarty->compile_check = true;
  17. }
  18. public function model()
  19. {
  20. }
  21. public function view()
  22. {
  23. $this->smarty->display( 'sample03.tpl' );
  24. }
  25. public function errHandler()
  26. {
  27. }
  28. public function clean()
  29. {
  30. unset( $this->smarty );
  31. }
  32. }
  33. ?>

テンプレートの方も、実際のコードを見てみることにしましょう。こちらの方は、「sample03.tpl」として保存してください*4

  1. <HTML>
  2. <HEAD>
  3. <TITLE>sample03</TITLE>
  4. </HEAD>
  5. <BODY>
  6. Hello, Risoluto World!
  7. </BODY>
  8. </HTML>

さて、これらのファイルをアップロードしてWebブラウザからアクセスすると、「Hello, Risoluto World!」と表示されるはずです。表示されない場合は、コードを確認してください。

「init()」メソッドは初期化処理につかえ!

さて、今回初めて「init()」メソッドにコードを書くことになりました。今回は、Smartyのオブジェクトを生成し、必要なプロパティを設定しました。「init()」メソッドは、まさにこのような用途のために用意されています。これ以外にもクラス変数の初期化やログイン状況のチェック*5などを行うとよいでしょう*6

「clean()」メソッドに後始末させろ!

「init()」メソッドと同様に、「clean()」メソッドにも初めてコードを書くことになりました。今回の例では、クラス変数のunset()のために「clean()」メソッドを使っています。このように、何らかの後始末をさせるために「clean()」メソッドが用意されていますので、その手の処理は「clean()」メソッドでやるとよいでしょう*7

SimplePage Flavorの方が簡単です

ここまでご紹介してきましたが、このStep3程度のことをやるだけであれば、SimplePage Flavorを使った方が簡単です。動的な要素のない単なるページを作成する際は検討してみてください。

戻る


  1. *1「MVCモデル」という言葉を聞いたことがあるなら「面倒かどうか」によらず、Step2の書き方はやめるべきです(聞いたことがないなら……せっかくなので調べてみてください)
  2. *2Risolutoの標準配布物に含まれているものは、すべてSmartyの使用を前提にしています
  3. *3セットアップの手間を考えてSmartyを使った例を挙げていますが、貴方が使い慣れていればそれ以外のテンプレートエンジンを使うことも可能です
  4. *4当然ながら名前は任意ですが、PHP側で指定した名称と同一のファイル名にしておいてください
  5. *5Risolutoの標準配布物に含まれているAdmin系画面では、この用途で「init()」メソッドを使っています
  6. *6もちろん、他のメソッドで行ってもかまいません
  7. *7もうそろそろ「しつこい!」と怒られてしまいそうですが、他のメソッドで行ってもかまいません