ホームページ >バックエンド開発 >PHPチュートリアル >PHP 学習の旅: 静的変数とメソッド
static キーワードはプロパティとメソッドを変更するために使用され、これらのプロパティとメソッドは 静的プロパティ および 静的メソッド と呼ばれます。
静的メソッドは静的プロパティにのみアクセスでき、非静的プロパティにはアクセスできません。ただし、非静的メソッドを呼び出す場合、this キーワードを使用して非静的メソッドを呼び出すことはできませんが、self:: キーワードを使用する必要があり、呼び出される非静的メソッドには非を含めることはできません。静的変数、一般的には静的メソッド 非静的メソッドを呼び出さないようにしてください。
静的プロパティはメモリ内に 1 つのコピーのみを持ち、すべてのインスタンスによって共有されます。 self:: キーワードを使用して、現在のクラスの静的メンバーにアクセスできます。 非静的メソッド呼び出し静的変数
<code><span><?php</span><span><span>class</span><span>test</span>{</span><span>public</span><span>static</span><span>$pi</span>=<span>3.14</span>; <span><span>function</span><span>display</span><span>()</span> {</span><span>return</span><span>self</span>::<span>$pi</span>; } } <span>$test</span>=<span>new</span> test(); <span>echo</span><span>'<br/>'</span>.<span>$test</span>->display(); <span>?></span></code>
静的メソッド呼び出し静的変数
<code><span><?php</span><span><span>class</span><span>test</span>{</span><span>public</span><span>static</span><span>$pi</span>=<span>3.14</span>; <span>static</span><span><span>function</span><span>display_static</span><span>()</span> {</span><span>return</span><span>self</span>::<span>$pi</span>; } } <span>$test</span>=<span>new</span> test(); <span>echo</span><span>'<br/>'</span>.<span>$test</span>::display_static(); <span>?></span></code>非
静的メソッド呼び出し静的メソッド
<code><span><?php</span><span><span>class</span><span>test</span>{</span><span>public</span><span>static</span><span>$pi</span>=<span>3.14</span>; <span>static</span><span><span>function</span><span>display_static</span><span>()</span> {</span><span>return</span><span>self</span>::<span>$pi</span>; } <span><span>function</span><span>display</span><span>()</span> {</span><span>return</span><span>self</span>::display_static(); } } <span>$test</span>=<span>new</span> test(); <span>echo</span><span>'<br/>'</span>.<span>$test</span>->display(); <span>?></span></code>
静的メソッド 非静的メソッドの呼び出し (実際には、呼び出しプロセス中に非静的メソッドを静的メソッドに変換するのと同じです)<code><span><?php</span><span><span>class</span><span>test</span>{</span><span>public</span><span>static</span><span>$pi</span>=<span>3.14</span>;
<span>static</span><span><span>function</span><span>display_static</span><span>()</span>
{</span><span>return</span><span>self</span>::display();
}
<span><span>function</span><span>display</span><span>()</span>
{</span><span>return</span><span>self</span>::<span>$pi</span>;
}
}
<span>$test</span>=<span>new</span> test();
<span>echo</span><span>'<br/>'</span>.<span>$test</span>::display_static();
<span>?></span></code>
').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i