ホームページ >バックエンド開発 >PHPチュートリアル >PHPのクラス定数の使い方は?

PHPのクラス定数の使い方は?

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

クラス内で常に変更されない値を定数として定義できます。定数を定義および使用するときに $ 記号を使用する必要はありません。

定数の値は固定値である必要があり、変数、クラス属性、数学演算や関数呼び出しの結果であってはなりません。

定数はインターフェースでも定義できます。その他の例については、ドキュメントのインターフェイスのセクションを参照してください。

PHP 5.3.0 以降、変数を使用してクラスを動的に呼び出すことができます。ただし、この変数の値をキーワード (self、parent、static など) にすることはできません。

例 #1 クラス定数を定義して使用する

<?php
class MyClass
{
  const constant = &#39;constant value&#39;;
  function showConstant() {
    echo self::constant . "\n";
  }
}

echo MyClass::constant . "\n";

$classname = "MyClass";
echo $classname::constant . "\n"; // 自 5.3.0 起

$class = new MyClass();
$class->showConstant();

echo $class::constant."\n"; // 自 PHP 5.3.0 起
?>

例 #2 静的データの例

<?php
class foo {
  // 自 PHP 5.3.0 起
  const bar = <<<&#39;EOT&#39;
bar
EOT;
}
?>

ヒアドキュメントとは異なり、nowdoc はあらゆる静的データで使用できます。

注:

Nowdoc サポートは PHP 5.3.0 で 追加されました

注: 他のオブジェクト指向プログラミング言語とは異なり、phpでは、クラスはプロパティ変数にfinal修飾子を使用できません。
プロパティを定数として宣言したい場合は、const キーワードを使用できます。変数名の接頭辞としてドル記号を使用したり、アクセス修飾子を使用したりする必要はありません。定数とは、変数にアクセスできるが、変数の値を変更できないことを意味します。たとえば、次のコードは定数属性 con_var を宣言します。

<?php
class Foo{
 const con_var="常量属性的值不能被修改<br />";
 public function method_a(){
 echo (self::con_var);
 }
}
echo(Foo::con_var);
$myFoo=new Foo();
echo ($myFoo->method_a());
?>

定数属性にはオブジェクトを使用してアクセスできませんが、クラス本体内では「self::constant name」を使用でき、クラス本体の外では「self::constant name」を使用できます。クラス本体には、「クラス名」::定数名を使用できます。

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

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