• ベストアンサー

php クラス

phpのクラスを使ったwebアプリについて質問です。 phpでクラスの勉強をしたですが、クラスを使ったいいwebアプリを思い付きません。 なにかアイディアをもらえませんか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

Webアプリの表側(HTMLとか)で表現する部分ではあまり出番はないかもしれないですね。 かといって、MVCモデルのいわゆるオレオレフレームワークを作る、というのも少しハードルが高いかもしれません(設計がモノを言うやつ) ついては、オブジェクトの三大要素(継承、カプセル化、多態性)を意識したライブラリ、みたいな形のものを作ってみてはいかがでしょう。 例えば、ページにアクセスするたびにユーザが何時何分にどのページを閲覧したかを記録するロガーを、 ・ログをどこに保存するのか ・どのようなインターフェースを持っているのか を意識して作る。 interface LoggerInterface { public function write(); } といったインターフェースを作って class TextLogger implements LoggerInterface; ↑テキストファイルにログを記録する class MySQLLogger implements LoggerInterface; ↑MySQLにログを記録する みたいな感じで作るとオブジェクト指向っぽいことができるかなと。 まぁ、そういう地味なのだとテンションが上がらない、Webアプリが作りたいのだ、ということであれば、ゲームブック的なものとかは面白いかもしれないですね。 (1) キャラクターを選択する (2) 画面にテキストを表示する (3) 画面下部に選択肢を表示する (4) 選択肢によって次画面に遷移後、テキストが変化する。 (1)のキャラクターはHP(ライフ)を持ち、間違った選択肢によってダメージを受けたりする。また、敵と戦うなどの選択肢の場合には、設定したATK(攻撃力)パラメータで次画面が変化するなどが行われる。 (3)の選択肢は(1)に設定されている職業パラメータなどによって変化する。 などといった出来事をクラスのプロパティに設定したり設定ファイルから読み出したりとかといった感じで、実装すると。 今回の関心ごとにない画面遷移するときのステータス管理はセッションにオブジェクトごとぶち込むとかCookie使うとか、雑でもよいのでいったん実装してしまう、みたいな。 いろいろ書きましたが、正直、オブジェクト指向って設計の問題なので、Webアプリを作るぞ、といった段階では使っても使わなくても実装自体はできてしまうので、どんだけ設計をちゃんと考えるか、だったりします。 ピンとこない場合は、一旦自分の作りやすいように全部実装した後で、クラスに置き換えて修正するのを繰り返してみる(リファクタリングってやつですね)、しかないかな、と思います。 長々と失礼しました。

dhtfyjh
質問者

お礼

詳しくありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A