ホームページ > バックエンド開発 > PHPチュートリアル > PHP で静的メソッドを使用する場合のいくつかの注意事項

PHP で静的メソッドを使用する場合のいくつかの注意事項

怪我咯
リリース: 2023-03-12 17:48:02
オリジナル
1157 人が閲覧しました

この記事では主に、PHP で 静的メソッドを使用する際のいくつかの 注意事項 を紹介し、PHP の静的メソッドを呼び出す際のテクニックとエラーが発生しやすい点を例を挙げて説明します。 . 紹介しました PHP で静的メソッドを使用する際の一般的な注意事項をいくつか紹介します。皆さんの参考に共有してください。具体的なメソッドは次のとおりです:

1. クラス内のメソッドが static で宣言されていない場合でも、変更可能なクラス メンバー変数を使用しない場合でも、

operator

:: を使用して外部から呼び出すことができます。 to call; 2. 静的に呼び出される (:: 演算子を使用して) メソッド内の $this の値は、それを定義するクラスではなく、呼び出しのコンテキストによって決定されます !!

たとえば、次のコード:

<?php 
class TestClass1 
{ 
  public $normal_v = &#39;normal_v from TestClass1&#39;; 
  public static $STATIC_V = &#39;STATIC_V from TestClass1&#39;; 
  public function test_func1() 
  { 
    echo $this->normal_v.&#39;<br />&#39;.self::$STATIC_V; 
  } 
} 
class TestClass2 
{ 
  public $normal_v = &#39;normal_v from TestClass2&#39;; 
  public static $STATIC_V = &#39;STATIC_V from TestClass2&#39;; 
  public function test_func2() 
  { 
    TestClass1::test_func1(); 
  } 
} 
$t2 = new TestClass2(); 
$t2->test_func2();
ログイン後にコピー
このコードの出力は何ですか? Normal_v from TestClass1
正しい出力は次のとおりです。 TestClass1 からの TestClass2
STATIC_V

注: test_func1() は TestClass1 で定義されていますが、TestClass2 で呼び出され、その内部 $this 変数は TestClass2 によって決定されます

実際、これら 2 つのクラス間の関係は "双方向関連付け" "。

興味のある友人は、この記事の例をテストして実行してみると、新たな成果が得られると信じています。

以上がPHP で静的メソッドを使用する場合のいくつかの注意事項の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート