• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プロパティにスタティックメソッドを入れられますか?)

プロパティにスタティックメソッドを入れられますか?

このQ&Aのポイント
  • 質問者はPHPのクラスでプロパティにスタティックメソッドを入れようとしてエラーが発生しています。具体的には、クラスの中で$base_dirというプロパティにZend_Registry::get('base')というスタティックメソッドを代入しようとしていますが、エラーが発生してしまいます。質問者はPHPのバージョンが5.2.8であることを明記しており、この問題の原因や解決策について相談しています。
  • 質問者はPHPのクラスで特定のプロパティにスタティックメソッドを代入しようとしているが、エラーが発生していると報告しています。具体的には、クラスの中で$base_dirというプロパティにZend_Registry::get('base')というスタティックメソッドを代入しようとしていますが、パースエラーが発生しています。PHPのバージョンが5.2.8であるため、この問題の解決策や原因についてアドバイスを求めています。
  • 質問者はPHPのクラスでプロパティにスタティックメソッドを代入しようとしているが、エラーが発生していると報告しています。具体的には、クラスの中で$base_dirというプロパティにZend_Registry::get('base')というスタティックメソッドを代入しようとしていますが、パースエラーが発生しています。PHPのバージョンが5.2.8であるため、この問題の原因や解決策について教えてください。

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

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

http://php.benscom.com/manual/ja/language.oop5.basic.php 上記公式マニュアルでも、 「デフォルト値は定数でなければなりません。(たとえば) 変数、クラスのメンバあるいは関数コールなどは使用できません。 」 となっております通り、 メンバ変数で値を定義するときに、メソッド(や関数)を利用することが出来ません。 ですので、 $base_dir = Zend_Registry::get('base'); は既に構文エラーです。 また、静的なindexメソッドで、「$this->」の構文が使えません。 コレについても return self::$base_dir; とする必要があります。

hobiko
質問者

お礼

なるほど! ありがとうございます、おかげですっきりしました もっと深く調べるべきでした ご指摘ご回答ありがとうございました!

関連するQ&A