Contents
参考
http://php.net/manual/ja/language.oop5.static.php
http://php.net/manual/ja/language.oop5.paamayim-nekudotayim.php
static(静的)プロパティ
クラスのプロパティ宣言時にstaticを付ける。
staticプロパティはクラスがインスタンス化されていなくても読み書き(アクセス)できる。
(static なプロパティは、インスタンス化されたクラスオブジェクトから アクセスすることはできない)
staticプロパティにアクセスする方法。
class Foo { public static $my_static = 'foo'; public static function aaa(){ echo 'staticなメソッドです。'; } public function staticValue() { return self::$my_static; } }
<?php require 'Foo.php'; print Foo::$my_static . "\n"; //foo
クラス名::$プロパティ名の形でアクセスできる。
staticなメソッド
staticなメソッドはstaticでないメソッドと同様にインスタンスから呼び出すことは可能。
<?php require 'Foo.php'; $foo = new Foo(); $foo->aaa(); //staticなメソッドです。 Foo::aaa(); //staticなメソッドです。
クラス名::メソッド名();の形で呼び出すことも可能。
ダブルコロン(::)は正式名「スコープ定義演算子」という。