この記事では、主にphpでのstaticキーワードとconstキーワードの使い方を紹介し、staticキーワードとconstキーワードの機能、使い方、関連する注意点を例の形で分析していますので、必要な方は参考にしてください
詳細は以下の通りです。
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 が静的メソッドが配置されているクラスを表すことを除いて、これと似ています。これは、このメソッドを呼び出すオブジェクトを表すポインターを参照します。 。静的メソッドはオブジェクトとともに呼び出されないため、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でのstaticキーワードとconstキーワードの使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。