0

基本クラスを拡張して、その子クラスからプロパティにアクセスできるようにしようとしています。誰かが次のように機能する理由を説明できますか。

class Base_Class {
        public function is_dev(){
            $var = (substr($_SERVER['HTTP_HOST'], -3) == 'dev') ? TRUE : FALSE;
            return $var;
        }
}

だからこれで私は子供クラスでアクセスすることができます$this->is_dev()

ただし、以下は機能しません。

class Base_Class {
        public $var = (substr($_SERVER['HTTP_HOST'], -3) == 'dev') ? TRUE : FALSE;
}

を使用してアクセスしたいと思って$this->varいましたが、この部分に到達する前に理解できない構文エラーが発生します。

アップデート:

スペースがなくなる前にこのリスト5または6の構文エラーを試してみると、エラーは多くの不満を言っています。構文エラーで終わります...しかし、最初の行は次のようになります。

expected identifier +,_,static

他のすべては、そこになかった他のさまざまなことを期待していると言っています...確かに多くを期待しています

前もって感謝します。

4

1 に答える 1

4

関数を使用し__constructます。これはvar、クラスがロードされたときに設定されます。

class Base_Class {
        public $var;
        function __construct(){
            $this->var = (substr($_SERVER['HTTP_HOST'], -3) == 'dev') ? TRUE : FALSE;
        }
}
于 2013-03-13T12:08:40.930 に答える