オブジェクト定数(クラス内定数)は、const
キーワードを前に付けて定義する。
通常の定数のように、define()
関数で定義することはできない。
書式
class クラス名 // クラスを定義
{
const オブジェクト定数名 = 'オブジェクト定数の値'; // オブジェクト定数を定義
function メソッド名( $var ) {
クラス名::オブジェクト定数名; // メソッド内部から、オブジェクト定数にアクセス
}
}
クラス名::オブジェクト定数名; // クラス外部から、オブジェクト定数にアクセス
{
const オブジェクト定数名 = 'オブジェクト定数の値'; // オブジェクト定数を定義
function メソッド名( $var ) {
クラス名::オブジェクト定数名; // メソッド内部から、オブジェクト定数にアクセス
}
}
クラス名::オブジェクト定数名; // クラス外部から、オブジェクト定数にアクセス
同じクラスのオブジェクト定数(クラス内定数)へアクセスするには、self
キーワードを使うこともできる。
親クラスのオブジェクト定数(クラス内定数)へアクセスするには、parent
キーワードを使うこともできる。
サンプル
<?php
class taxClass
{
const TAX = 0.1;
public static function func_tax( $var ) {
return $var * ( 1 + taxClass::TAX );
}
}
echo '税率' . taxClass::TAX * 100 . '%の場合: ';
echo taxClass::func_tax( 100 ) . '円<br />';
?>
class taxClass
{
const TAX = 0.1;
public static function func_tax( $var ) {
return $var * ( 1 + taxClass::TAX );
}
}
echo '税率' . taxClass::TAX * 100 . '%の場合: ';
echo taxClass::func_tax( 100 ) . '円<br />';
?>
↓↓↓出力結果↓↓↓
税率10%の場合: 110円