🌊
PHPのdefine
define
嬉しいこと
-
変数や関数の戻り値が使える
<?php $val = '適当な変数'; define('MY_CONST', $val); echo MY_CONST; // 適当な変数 define('NOW', microtime(true)); echo NOW; // 1579431033.9034
constだとこれができない
-
トップレベル以外で使える
ifの中でも使える
デメ
- 関数の呼び出しのオーバーヘッドがあるため、遅い
- クラス定数として定義できない
他
constは名前空間上に登録されるが
defineはグローバルに登録される
※グローバル汚染にならないように、なるべくconstを使う
Discussion