ホームページ  >  記事  >  バックエンド開発  >  PHPのクラス定数とは何ですか?クラス定数の使い方の詳しい説明

PHPのクラス定数とは何ですか?クラス定数の使い方の詳しい説明

伊谢尔伦
伊谢尔伦オリジナル
2017-06-29 09:10:113896ブラウズ

この記事では、主に PHP クラス定数の使用法を紹介します。この例では、PHP のクラス定数の概念、特性、および関連する使用スキルを分析します。必要な方は参考にしてください。この記事の例では、PHP の使用法について説明します。クラス定数。皆さんの参考に共有してください。詳細は次のとおりです:

クラス定数は、

オブジェクト

インスタンスではなくクラス自体に属し、オブジェクトインスタンスを介してアクセスすることはできません
サブクラスは親クラスの定数をオーバーライドでき、親クラスの定数を呼び出すことができますclass through (parent::) Constants


PHP5.3.0 以降、変数を使用してクラスを動的に呼び出すことができます。ただし、この変数の値をキーワード (self、parent、

static

など) にすることはできません。
定数値は、スカラー、string、bool、

integer

、float、null のみです。定数を初期化するには、nowdoc 構造体を使用できます

<?php
/**
 * PHP类常量
 *
 * 类常量属于类自身,不属于对象实例,不能通过对象实例访问
 * 不能用public,protected,private,static修饰
 * 子类可以重写父类中的常量,可以通过(parent::)来调用父类中的常量
 * 自PHP5.3.0起,可以用一个变量来动态调用类。但该变量的值不能为关键字(如self,parent或static)。
 */
class Foo
{
  // 常量值只能是标量,string,bool,integer,float,null,可以用nowdoc结构来初始化常量
  const BAR = &#39;bar&#39;;
  public static function getConstantValue()
  {
    // 在类的内部可以用self或类名来访问自身的常量,外部需要用类名
    return self::BAR;
  }
  public function getConstant()
  {
    return self::BAR;
  }
}
$foo = &#39;Foo&#39;;
echo $foo::BAR, &#39;<br />&#39;;
echo Foo::BAR, &#39;<br />&#39;;
$obj = new Foo();
echo $obj->getConstant(), &#39;<br />&#39;;
echo $obj->getConstantValue(), &#39;<br />&#39;;
echo Foo::getConstantValue();
// 以上均输出bar
class Bar extends Foo
{
  const BAR = &#39;foo&#39;; // 重写父类常量
  public static function getMyConstant()
  {
    return self::BAR;
  }
  public static function getParentConstant()
  {
    return parent::BAR;
  }
}
echo Bar::getMyConstant(); // foo
echo Bar::getParentConstant(); // bar

以上がPHPのクラス定数とは何ですか?クラス定数の使い方の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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