2018/1/4 php static 静的プロパティ、静的メソッドまとめ

参考

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なメソッドです。

クラス名::メソッド名();の形で呼び出すことも可能。

ダブルコロン(::)は正式名「スコープ定義演算子」という。

 

コメントを残す

メールアドレスが公開されることはありません。