• 締切済み

クラスの使い方

php5です。 --- test1.class.php --- class TEST1 { function hoge1() { // 実際に複雑な処理ですが概要として簡易化してます $aaa = 'hoge1'; // クラスの実行で単純に戻り値を返す return $aaa; } } --- test2.class.php --- class TEST2 { function hoge2() { // 実際に複雑な処理ですが概要として簡易化してます $bbb = 'hoge2'; // クラスの実行で単純に戻り値を返す return $bbb; } } --- MySmarty.class.php --- require_once 'test1.class.php'; require_once 'test2.class.php'; class MySmarty extends Smarty { function MySmarty() { //ここでclassTEST1,2の戻り値を利用しif文で分岐をしたい if ($aaa == 'hoge1') { $ccc = 'あああ'; } elee { $ccc = 'いいい'; } if ($bbb == 'hoge2') { $ddd = 'ううう'; } elee { $ddd = 'えええ'; } $this->assign('aaa', $aaa); $this->assign('bbb', $bbb); ・・・ } } このような使い方はできないものでしょうか?クラスに触れてまだ間も無く理解も深めれて いない状態で参考サイトなどを調べてみたのですがこのような使い方を書いている説明は みつかりませんでした。 思いつく方法としてはMySmartyに継承すればいいようなのですが継承は1つまでと 制限があるようでそれもできない状態です。 単純に1つのクラスにまとめて書けば済むような気もあるのですが他にも別のクラスの 戻り値を利用して分岐等をさせたく思っているのですがこの場合どうすればいいのでしょうか? もし不可能な場合(可能だけど方法的に良くない場合)の別の方法としてアドバイスを 頂けますと幸いです!宜しくお願いします!

みんなの回答

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.1

役に立つかどうか分かりませんが、質問に対する直接の 意見ではなく、質問の仕方に対する意見です。 まず、クラスを実行、という発想がクラスの概念を取り 損ねているように思います。内容的にはクラス化するレ ベルではなくて、ただ単に関数というレベルです。 クラスは定義するもの、実行はメンバ関数です。 クラスの概念を説明しようと思ったら、薄い本一冊くら いになってしまうので、勉強してくださいとしか言えま せん。 外見的に言えることは、関数1つのクラスは、クラスと しての意味が無い、ということです。 それから、eleeというのはありません。 プログラミングする場合、細部にも気を回しましょう。

dcx147
質問者

お礼

お返事ありがとうございます。 eleeは完全にタイプミスでした。今後気をつけます^^; >クラスは定義するもの、実行はメンバ関数です。 classの中のfunctionで実行という事ですね!1つ勉強になりました^^ >関数1つのクラスは、クラスとしての意味が無い 実際には複数のメンバ関数があり簡略化しています。最終的に値を出すのがこんな感じと いう意味です。情報不足でした。 引き続き回答をお待ちしております!

関連するQ&A