PHPではスタティックメソッドにアロー演算子でアクセスできる
class Klass
{
public static function staticFoo()
{
return "I am static method\n";
}
}
$obj = new Klass;
echo $obj->staticFoo();
てっきり文法エラーになると思っていたのですが、エラーにはならないようです。マニュアルを見ると、
static なプロパティは、インスタンス化されたクラスオブジェクトから アクセスすることはできません (static なメソッドにはアクセスできます)。表現がすごいわかりにくいのですが、つまり「できる」ということです。
http://www.php.net/manual/ja/language.oop5.static.php
できるけどやらない方がいいでしょうね。
意図がわかりにくくなるので。
カテゴリ:
PHP