• ベストアンサー

静的プロパティと静的メソッドの使い方

インスタンスメソッドやインスタンスプロパティをアロー演算子で参照する方法と 静的メソッドや静的プロパティを「::」演算子で参照する方法があるかと思います。 静的に呼び出すメリットとはどのような場合が挙げられますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

静的に呼び出すと、インスタンスを生成しないでメソッドを実行するのでコストが低いです。 それと、もっといろんな場所で横断的に使いたい場合などにも効果があります。 例えば、自分でよく使う便利ツール的な単一機能が複数ある場合に、 <?php class My_Util{ protected static $shared_settings; //このクラス内で共通で使う設定 public static function useful($param){ //何かよく使う便利な関数的なもの } public static function other($param){ } public static function setConfig($name, $value){ self::$shared_settings[$name] = $value; } } ?> こんな感じで実装してやれば、別のクラス内で使って、他の関数内で使って、とかいろんな箇所で使う場合でも 低コストに、このクラスが使えます。 コレをインスタンスを作る通常のクラスとして実装した場合は、別々の場所で使う度に、インスタンスを生成しなければならなくなり、ついでに、一度設定した事柄も、呼び出す度に初期化してやらなければいけなくなったりします。

関連するQ&A