この記事の例では、php での static キーワードと const キーワードの使用法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです。 クラス内の static キーワードで記述されたメンバー プロパティとメンバー関数はすべて static です。
静的メンバーはオブジェクト インスタンスではなくクラスに属しているため、外部アクセスを制限できます。
メモリの観点から見ると、オブジェクトは「ヒープ メモリ」に配置され、オブジェクトへの参照は「スタック メモリ」に配置され、静的メンバーは最初にロードされる初期化静的セグメントに配置されます。参加するクラスの時間。メモリ内のすべてのオブジェクトで共有できます。以下の図に示すように:
<?php class Person{ public static $myCountry = "中国"; public static function say(){ echo "我的祖国是:".self::$myCountry."<br>"; } } //输出静态属性 echo Person::$myCountry."<br>"; //调用静态方法 Person::say(); //修改静态属性 Person::$myCountry = "中国-江苏"; echo Person::$myCountry."<br>"; ?>出力結果は次のようになります:
中国 我的祖国是:中国 中国-江苏
クラス内の静的メソッドは、クラスの静的プロパティにのみアクセスできます。クラス内の静的メソッドは、クラスの非静的メンバーにアクセスできません。 self を使用してクラス内の静的プロパティにアクセスします。 self は、self が静的メソッドが配置されているクラスを表すことを除いて、これと似ています。これは、self が静的メソッドが配置されているクラスを表し、呼び出すオブジェクトを表すポインタを参照することを除いて、これと似ています。この方法。静的メソッドはオブジェクトとともに呼び出されないため、this 参照はありません。これについては言及がありません。これがないと、クラス内の他のメンバー プロパティを呼び出すことができません。
const は定数を定義するキーワードです。 Const は、クラスで定数を定義するためによく使用されます。 「const」で変更されたメンバー属性にアクセスする方法は、「static」で変更されたメンバーにアクセスする方法と同様で、メソッド内で「クラス名」と「self」キーワードも使用します。ただし、「$」記号を使用する必要はなく、オブジェクトを使用してアクセスすることもできません。
<?php class MyClass{ const constant = 'constant value'; function showConstant(){ //方法中调用常量,没有$ echo self::constant."<br>"; } } //类直接调用,没有$ echo MyClass::constant."<br>"; $class = new MyClass(); $class ->showConstant(); ?>
この記事が PHP プログラミングのすべての人に役立つことを願っています。
PHP での static キーワードと const キーワードの使用法の分析に関連する記事をさらに知りたい場合は、PHP 中国語 Web サイトに注目してください。