定数
クラス定数へのアクセス
クラス名::定数でアクセスする。同クラスからは、self::定数でアクセスする。
<?php class MyClass { const CONSTANT = 'constant value'; function showConstant() { echo self::CONSTANT . "\n"; // 同クラスからのアクセス } } echo MyClass::CONSTANT . "\n"; ?>
cakePHPにおいて、他クラスの定数にアクセスする際の実装例。
<?php use App\...\OtherClass; class MyClass { function __construct() { $this->OtherClass = TableRegistry::get('OtherClass'); // テーブル $this->OtherClass = new OtherClass(); // その他 サービスクラスなど } function showConstant() { echo $this->OtherClass::CONSTANT . "\n"; } } ?>
クラス定数のアクセス範囲
PHP7.1以降、クラス定数のアクセス範囲を以下の記法で指定できる。
<?php class Foo { public const BAR = 'bar'; private const BAZ = 'baz'; } ?>
クラス定数のデフォルトのアクセス範囲はpublic。
define
define(定数名, 値)で定数を定義できる。
<?php define("CONSTANT", "Hello world."); ?>