PHPコーディング

オブジェクト指向で書いてみる

2010年11月17日
いよいよオブジェクト指向で書いてみました。
PHPのオブジェクト指向入門 | オブジェクト指向PHP.NETとにらめっこしながら、自分のサイトに当てはめてみます。

まずは各ページで共通にある処理を洗い出してみます。
DB接続、DB切断などがありました。

abstract class BaseProcess{
  abstract protected function Main();
  public function strExec(){
    DB接続
    //メイン処理
    $this->strHTML = $this->Main();
    DB切断
  }
}

こんな感じで共通クラスを作ります。
各ページの処理はこのクラスを継承します。

それぞれのページを見ると、いくつかのパターンに分類できます。
・左メニューとメインメニューのある2カラムページ
・左ではなくページの上にメニューがあり、その下にマニュアルのあるマニュアルページ
・商品を売っているセールスページ
などです。

次に、例えば、2カラムページを処理するクラスを作ります。

abstract class TwoColum extends BaseProcess{
  public function Main(){
    DBからデータ取得
    左メニュー作成
    ヘッダ作成
    コンテンツ作成
    htmlタグ作成
    return $html
  }
}

これでBaseProcessが継承されます。
DBからデータを取得する部分は、表ページの表示にも使いますが、管理画面でも使うので、これもクラス化しておきます。

TwoColumを実行したときの実際の処理は、
 1. DB接続
 2. DBからデータ取得
 3. 左メニュー作成
 4. ヘッダ作成
 5. コンテンツ作成
 6. htmlタグ作成
 7. DB切断
となります。

TwoColumを呼び出すPHPでは、

//外部ファイル読み込み
 require_once('・・・');
//インスタンス作成
 $proc = new ContentProcess();
//実行&htmlタグ受取
 $html = $proc->strExec();
//出力
 echo $html;

これだけです。
なんか物足りない。ちょっと不完全燃焼。
でも不完全燃焼ってことは、コーディングが楽ってこと?

しかも、最終呼び出しPHPはどのファイルもほとんど同じになります。
最終PHPでhtml作成をする方法ももちろんあります。

以前にも感じていましたが、オブジェクト指向でコーディングするのって、手続型より設計が大切です。
ちゃんと構造を把握しておかないと、自分でわけがわからなくなりそうです。
だから他人が作ったオブジェクトってわかりにくいんだ・・・
コメントの書き込み
コメント
2018年04月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
先月
来月
カテゴリ
検索
関連サイト
プロフィール
【ネットネーム】
みゅー

キャラクター by ツカエルサイト


【趣味】
・プログラミング
・写真
・楽器演奏
・手芸
・日曜大工
・家の中の不便を便利に
・考える
・自然科学
・猫と戯れる
・ジグソーパズル

【仕事】
・派遣社員でSE・PGやっていました。次の良い仕事がみつからないので、ビジネスへ注力しようと思っています。
・経験言語:VB6、VB.NET、PHP、Perl、JAVA、Oracle、SQLServer、PostgreSQL



【名前】
アン(足)

2014年4月22日生まれ 女の子
あだ名は くノ一
普段は普通にしゃべりますが、興奮すると『ニャ』を連発します

【趣味】
・狩
・ご飯を食べる
・ママのお手伝い

【仕事】
ママのビジネスの看板招き猫
ママの代わりにPC入力
仕事中のママの右腕を温める
ママに心配をかける
いろんな事をしでかしてママを退屈させない

RSSフィード
コメント
ミミ、どうしているかな?
2018-04-17 08:51:41
ミミ、どうしているかな?
たかこ さん
2018-04-16 19:42:12