TOP > 読み物 > PHP: ぴゅーっと速くプログラミング > フレームワークを作ってみよう(2)

PHP: ぴゅーっと速くプログラミング

フレームワークを作ってみよう(2)

クラス定義

んでは早速。ちなみにフレームワークと言っても全然高機能なもんにはならないと思いますので悪しからず。

基本形はこんなん。あくまでもとりあえずですよ。

framework.php: download source
  1: <?php
  2: /*
  3:  * framework.php
  4:  *   Copyright (C) YAMADA Satoshi
  5:  */
  6: 
  7: define('MYSELF',  $_SERVER['PHP_SELF']);
  8: 
  9: class
 10: framework
 11: {
 12:   function
 13:   framework()
 14:   {
 15:     $this->action = $_POST['action'];
 16:   }
 17: 
 18:   function
 19:   main()
 20:   {
 21:     include "$this->action.html";
 22:   }
 23: }
 24: 
 25: // vi:ts=8 sw=2
 26: ?>

こんだけ。

使い方はこんな感じで。

sample.php: download source
  1: <?php
  2: 
  3: require('framework.php');
  4: 
  5: class
  6: sample extends framework
  7: {
  8:   function
  9:   sample()
 10:   {
 11:     $this->framework();
 12:     if (!$this->action) $this->action = 'form';
 13:   }
 14: }
 15: 
 16: $sample = new sample();
 17: $sample->main();
 18: 
 19: // vi:ts=8 sw=2
 20: ?>

こんだけ。

で、例えばフォーム→確認→完了みたいな流れだと、 form.htmlconfirm.htmldone.html みたいな感じで 用意してあげてそれぞれ

form.html: download source

  1: <h1>フォーム</h1>
  2: 
  3: <form action="<?= MYSELF ?>" method="POST">
  4: <input type="hidden" name="action" value="confirm" />
  5: <input type="submit" value="次へ" />
  6: </form>

confirm.html: download source

  1: <h1>確認</h1>
  2: 
  3: <form action="<?= MYSELF ?>" method="POST">
  4: <input type="hidden" name="action" value="done" />
  5: <input type="submit" value="次へ" />
  6: </form>

done.html: download source

  1: <h1>完了</h1>
  2: 
  3: 完了しました。

という風に書いておくだけで画面遷移のできあがり。 [ 実行例 ]

ちなみにこのソース、この段階でそのまま使うのには注意が必要です。 PHPの設定によってはセキュリティホールとなりますので。 詳しくはそのうち説明します。


[ 前へ | 次へ ]