PHP:defineを使わず変数を使っているプログラム
何年か前に作成されたプログラムの修正をしています。
共通ファイルに変数で固定値が書かれていて、変数を使って処理しています。
$systemId = 1;
他の書き方
固定値を書くなら、defineを使う方法があります。
define("SYSTEM_ID","1");
どちらでも適切にコードを書けばプログラムは動作するので、 問題はありません。
それでもdefineで書くべきだと考えています。
defineにする理由
全部大文字で書いておけば、固定値だとわかりやすいというのがあります。
他には、今回関数を追加したときに、関数内で共通ファイルの変数を使うためには、変数のスコープが違うため、関数内でglobalをつけないといけないことを、気づきましたというか思い出しました。
変数の場合は、以下のように書かなければいけません。
function getParam() { global $systemId; echo $systemId; }
defineで定義していれば、globalをつける必要はありません。
function getParam() { echo SYSTEM_ID; }
今となっては誰が作ったのかわかりませんが、 再度利用するときのことも考えて、defineで定義をしなおしています。