PHP での static および const キーワードの使用法に関する分析

高洛峰
リリース: 2023-03-04 16:04:02
オリジナル
1186 人が閲覧しました

この記事の例では、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>";
?>
ログイン後にコピー
PHP での static および const キーワードの使用法に関する分析 出力結果は次のようになります:

中国
我的祖国是:中国
中国-江苏
ログイン後にコピー

クラス内の静的メソッドは、クラスの静的プロパティにのみアクセスできます。クラス内の静的メソッドは、クラスの非静的メンバーにアクセスできません。 self を使用してクラス内の静的プロパティにアクセスします。 self は、self が静的メソッドが配置されているクラスを表すことを除いて、これと似ています。これは、self が静的メソッドが配置されているクラスを表し、呼び出すオブジェクトを表すポインタを参照することを除いて、これと似ています。この方法。静的メソッドはオブジェクトとともに呼び出されないため、this 参照はありません。これについては言及がありません。これがないと、クラス内の他のメンバー プロパティを呼び出すことができません。

const は定数を定義するキーワードです。 Const は、クラスで定数を定義するためによく使用されます。 「const」で変更されたメンバー属性にアクセスする方法は、「static」で変更されたメンバーにアクセスする方法と同様で、メソッド内で「クラス名」と「self」キーワードも使用します。ただし、「$」記号を使用する必要はなく、オブジェクトを使用してアクセスすることもできません。

<?php
class MyClass{
 const constant = &#39;constant value&#39;;
 function showConstant(){
  //方法中调用常量,没有$
  echo self::constant."<br>";
 }
}
//类直接调用,没有$
echo MyClass::constant."<br>";
$class = new MyClass();
$class ->showConstant();
?>
ログイン後にコピー

この記事が PHP プログラミングのすべての人に役立つことを願っています。

PHP での static キーワードと const キーワードの使用法の分析に関連する記事をさらに知りたい場合は、PHP 中国語 Web サイトに注目してください。

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