PHP を長い間使ってきたにもかかわらず、これらのキーワードの使い方をまだ理解できていないことを恥ずかしく思います。今日はまとめてみましょう。
1. クラスの内部メソッドが const および static として宣言された属性にアクセスする場合は、self::$name の形式を使用します。 const 属性の宣言形式は const $PI=3.14 ではなく const PI=3.14 であることに注意してください
以下は引用された内容です: class clss_a { private static $name="static class_a"; const PI=3.14; public static function getName() { return self:: $ name; } //この書き方は間違っています、静的メソッドは非静的プロパティにアクセスできません public static function getName2() { return self::$value; } public function getPI() { 自分自身を返します ::PI } } |
もう 1 つ注意すべき点は、クラス メソッドが静的である場合、アクセスするプロパティも静的である必要があるということです。
2. クラスの内部メソッドで const または static として宣言されていない属性にアクセスする場合は、$this->value ='class_a'; の形式を使用します。
http://www.bkjia.com/PHPjc/364393.html