- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:クラス)
クラスの勉強を始めようと思い下記URLのマニュアルを参考にしております。
このQ&Aのポイント
- クラスの勉強を始めようと思い、参考にしたURLのマニュアルについて疑問があります。
- 参考にしたマニュアルのExample#1の内容を実行してみましたが、条件に関係なく両方の結果が表示されるので、どちらを表示する基準がわからないです。
- 他の参考サイトでも同様の内容で説明がなく、初心者にとって基礎の基礎の質問かもしれません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
呼び方の違いの問題ですね。 「$this is defined (a)」と表示される時は $a = new A(); $a->foo(); が実行されていますし、 「$this is not defined.」と表示される時は A::foo(); が実行されています。 この違いは、インスタンスからメソッドを呼び出したのか、スタティックメソッドとして メソッドを利用したのかになります。 この例は、あまりよくありませんね。 スタティックなのにstaticキーワードがない為、ある意味混乱させて しまいますね。 (通常、このような利用方法は無いと思いますし・・・) http://www.php.net/manual/ja/language.oop5.static.php ぱっと調べたら見つけたサイトがあるので紹介します。 http://www.shigeweb.jp/php/project_p/?page=static§ion=php5oop
お礼
お返事ありがとうございます。 最初からつまづいてしまい意味不明でしたが参考urlを見て勉強してみたいと 思います!詳細の説明もなく困っていたので本当に助かりました^^