少し混乱していますが、どのような状況で static をクラスで使用する必要がありますか?
<br />
<?php<br />
<br />
class cls{<br />
<br />
public static function print_str(){<br />
<br />
echo 'OK';<br />
<br />
}<br />
<br />
<br />
}<br />
cls::print_str();<br />
<br />
?><br />
<br />
ログイン後にコピー
static で定義されたクラス メソッドは、データに応じて静的メソッドと呼ばれ、インスタンス クラスを必要とせずに直接使用できます。
では、どのような状況で static を使用してクラスメソッドを定義する必要があるのでしょうか? それは便利な呼び出しの原則に基づいているのでしょうか?
クラス内にメソッドが 1 つしかない場合、それを静的として定義するか、非静的として定義するかで使用効率に違いはありますか?
比較的単純な質問であるはずですが、基礎をしっかりと築いていない場合は、アドバイスを求める必要があります。よろしくお願いします。
クラス
静的
-----解決策---------静的メソッドはスコープが制限された関数です。つまり、ホスト名
で使用します。
機能としてのみ使用する場合は、メリットがありません
シングルトンモードのオブジェクト接続に使用するとさらに便利です
オブジェクトを渡す必要はありません
-----解決策---------
非静的メソッドと比較して、クラス全体のインスタンス化は必要ありません。パフォーマンスの消費は少なくなります。グローバル関数と比べてクラスの特性を活かすことができます。継承やカプセル化などの機能。