• ベストアンサー

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

  • phpのクラスについて教えてください

    phpのクラスについて教えてください クラスについて調べても全くわかりませんでした 基礎から教えてください

    • ベストアンサー
    • PHP
  • PHPのクラスについて教えてください

    PHPを初めてクラスという言葉が出てきました。 書き方はわかったのですが、クラスを使用するとどのようなことが便利なのでしょうか? クラスを使用することによるメリットを教えてください。 できれば例えを出して頂けると嬉しいです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • phpでのクラスについて

    php初心者です。 最近クラスについて学んだので、実際に使ってみたいと思っています。 $comment[a] = "aaaa"; $comment[b] = "bbbb"; $comment[c] = "cccc"; こんな感じで、画面に表示する文章を連想配列にして格納していたんですが、これをクラスにしてまとめてみたいと思ってるんですけど、どういう感じにすると良いんでしょうか? ちょっと初歩的なクラスの質問だとは思いますが、どなたか教えてください。

    • 締切済み
    • PHP
  • PHPのクラスについて

    PHPでクラスを多用すると処理が重くなるといわれたのですが、実際のところどうなのでしょうか。 他のオブジェクト指向言語のようにクラスを作ってしまって問題ないのでしょうか。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPのクラス名の付け方

    PHPを勉強中です。 タイトルのとおり、クラス名の付け方をどのようにしたらよいでしょうか? ネットで探しても、いい案がないようです。 Javaでは、ドメイン名を逆にしてパッケージをつけます。 これで世界中でユニークになります。 例えばユーザ情報のクラスということでUserとクラス名をすると、 他の人が作ったクラス名と衝突する恐れがあります。 これを回避するのにクラス名のルールがありますでしょうか?

    • ベストアンサー
    • PHP
  • PHP5でセッションやクラスについて

    PHP5でセッションやクラスについて、業務で対応できるレベルまで勉強したいのですが、何か取っ付きやすいサンプルや書籍などご存知の方、教えてください。 session_registerなど、何に使い、何にメリットがあるのか、わからないレベルです。

    • ベストアンサー
    • PHP
  • php クラス

    クラスの勉強をしているのですが、 記憶寿命をfunctionの中で完結させsample2以降でも同じ変数などを使えるようにするため定義済み関数内でクラスを処理したいのですが下記のエラーが出てしまいます。 functionの中でクラスを簡潔させるにはどのようにすればよいでしょうか?また、これはなぜエラーが起きているのでしょうか? function sample1(){ $pr=new parson; $pr->name="鈴木"; $pr->age=56; print $pr->getname(); print $pr->getage(); class parson { public $name="鈴木"; public $age=56; function getname(){return $this->name;} function getage(){return $this->age;} }} sample1(); Fatal error: Uncaught Error: Class 'parson' not found in hoge/class.php:11 Stack trace: #0 /hoge/class.php(27): sample1() #1 {main} thrown in /hoge/class.php on line 11

    • ベストアンサー
    • PHP
  • クラス構造と継承のありかた?

    PHP初心者で勉強中の者です。 多少、長文気味ですがアドバイス頂けると幸いです。 環境は、レンタルサーバで、php ver 5.2、MySQL ver 5.0、ブラウザ IE8(最新ver) 質問1 : index.php上で以下の処理を毎回(webにアクセスするたび)行っています。    1.require_once で各phpファイルを読み込み(全てクラスファイル)    2.new で読み込んだクラスをインスタンス化    3.自作関数を実行(動的なhtmlを出力)   この様な繰り返し処理は、webプログラミングとして典型的なのでしょうか。   webによっては機能(メールやプロフィール)毎にindex.phpを設けているとも聞いています。 質問2 : 質問1の2や3で必要なクラスオブジェクトを引数として渡している現状ですが、これを効率化(引数の省略)させようと、セッション(serialize、unserialize)へと移行中です。勉強不足であり今ひとつ実装出来ていませんが、共通変数を設けて使い回す構造(最上位クラスのpublic変数に格納?)とどちらが現実的でしょうか。 以上、お願いします。

    • 締切済み
    • PHP
  • PHPにてクラスを配列にすることは可能でしょうか。

    PHPにてクラスを配列にすることは可能でしょうか。 環境はPHP5です。 現在下記のようなクラスを作成しました。 class Ary_c { var $v1; // コンストラクタ function Ary_c() { $this->v1 = "test"; } } このクラスをC++言語などで出来るような、 クラスの配列として扱いたいのです。 C++だとたとえば10個の要素があるクラスの配列は Ary_c t[ 10 ]; みたいな感じで宣言できます。 こういったことをPHPでやることは可能でしょうか。

    • ベストアンサー
    • PHP
  • PHP4、PHP5 1ファイル複数クラスのルール 

    とあるPHP4で書かれたスクリプトを見ていたら、1つのファイルに複数のクラスが書いてありました。 1つのファイルに1つのクラスを推奨という記述は見かけるのですが、 PHPの仕様としてはどんな感じになっているのでしょうか? 「javaで同一ファイル内にpublicなクラスを複数作成できない」てのを見かけたのですが、PHPにはこんなルールはあるのでしょうか? また1ファイル複数クラスの記述に関して、PHP4とPHP5で、違いがあれば 知りたいです

    • ベストアンサー
    • PHP
このQ&Aのポイント
  • 私は冬休みに北海道に訪れたいです。なぜなら札幌雪まつりが冬に開催されるからです。
  • 札幌雪まつりでは雪像が夜にライトアップされ、美しく見えます。
  • そのため、私は1度見てみたいと思っています。
回答を見る