PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPクラス定数


はじめに

PHPでは、クラス内の識別子を定数値として定義できます。この値は、クラスごとに変更されません。クラスの変数またはプロパティと区別するために、定数の名前の前に$記号を付けず、次のように定義します。 定数 修飾子。

定数のデフォルトの可視性は公開されていますが、他の修飾子が定義で使用される場合があります。定数の値は、変数や関数呼び出し/プロパティではなく、特定の式である必要があります。定数の値は、スコープ解決演算子を使用してクラス名を介してアクセスされます。 自己を介して参照できますが、メソッドの内部 変数

構文

class SomeClass{
   const CONSTANT = 'constant value';
}
echo SomeClass::CONSTANT;

定数名では大文字と小文字が区別されます。従来、定数の名前は大文字で表記されていました

クラス定数の例

この例は、クラス定数がどのように定義され、アクセスされるかを示しています

<?php
class square{
   const PI=M_PI;
   var $side=5;
   function area(){
      $area=$this->side**2*self::PI;
      return $area;
   }
}
$s1=new square();
echo "PI=". square::PI . "\n";
echo "area=" . $s1->area();
?>

出力

これにより、次の結果が得られます。 −

PI=3.1415926535898
area=78.539816339745

式としてのクラス定数

この例では、クラス定数に式が割り当てられています

<?php
const X = 22;
const Y=7;
class square {
   const PI=X/Y;
   var $side=5;
   function area(){
      $area=$this->side**2*self::PI;
      return $area;
   }
}
$s1=new square();
echo "PI=". square::PI . "\n";
echo "area=" . $s1->area();
?>

外側

これにより、次の結果が得られます。 −

PI=3.1428571428571
area=78.571428571429

クラス定数の可視性修飾子

<?php
class example {
   const X=10;
   private const Y=20;
}
$s1=new example();
echo "public=". example::X. "\n";
echo "private=" . $s1->Y ."\n";
echo "private=" . $example::Y ."\n";
?>

出力

これにより、次の結果が得られます。 −

1public=10
PHP Notice: Undefined property: example::$Y in line 11
private=PHP Fatal error: Uncaught Error: Cannot access private const example::Y

  1. PHPのFILTER_SANITIZE_NUMBER_INT定数

    FILTER_SANITIZE_NUMBER_INT定数は、数値からすべての無効な文字を削除します。 戻る FILTER_SANITIZE_NUMBER_INT定数は何も返しません。 例 <?php    $var = "4-5+9p";    var_dump(filter_var($var, FILTER_SANITIZE_NUMBER_INT)); ?> 出力 以下は出力です。 string(5) "4-5+9"

  2. PHPのFILTER_VALIDATE_FLOAT定数

    FILTER_VALIDATE_FLOAT定数は、値を浮動小数点数として検証します。 戻る FILTER_VALIDATE_FLOAT定数は何も返しません。 例 <?php    $var = 291.9;    var_dump(filter_var($var, FILTER_VALIDATE_FLOAT)); ?> 出力 以下は出力です。 float(291.9)