私はこのようなクラスを持っています。クラス静的関数がメモリに読み込まれますか?
<?php
namespace test;
class Test
{
public static function static1(){}
public static function static1(){}
...
}
そして、autoloadはpsr-4を使用します。 静的関数のロードはいつメモリにありますか?
- ロードアウトアウト(インクルード)?私はそれがこれをするとは思わない。
- test/Test(phpファイルを含む)を使用しますか?
- を呼び出します。Test.static1(); ?
私の選択肢では、静的機能はnew
(もちろんプライベートデータはありません)がなければ使いやすいですが、メモリが増えてパフォーマンスが低下する恐れがあります。
私はあなたが何を求めているのかはっきりしていません。静的メソッドの定義がインスタンスメソッドよりも多くのメモリを必要とするのはなぜですか?また、私的なデータがないとはどういう意味ですか?プライベートな静的プロパティとメソッドを持つことができます。 – Devon
@Devon、コメントありがとう、私はそれが遅く実行され、より多くのメモリを使用する多くの静的メソッドを使用する場合は知りたいですか?そして、静的メソッドがメモリを使用する場合。 PHPファイルを呼び出すかインクルードする?私が静的メソッドを使用する理由は私的なデータではありません。各クラスインスタンスに独自のデータがある場合、静的メソッドを使用することはできません(静的フィールドのみを使用できます)。 – godtail
私はPHPがいつ静的な定義をロードするかを彼が尋ねていると思います。 C++のように、静的クラスは、実行の開始時または終了時に構築され、破棄されます。 PHPは解釈されるので、静的オブジェクトは一度読み込まれると読み込まれると思います。 – bassxzero