ホームページ  >  記事  >  バックエンド開発  >  PHP での static および const キーワードの使用法に関する分析

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

高洛峰
高洛峰オリジナル
2017-01-06 14:04:221170ブラウズ

この記事の例では、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 サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。