PHPの定数を使いこなす

  • このエントリーをはてなブックマークに追加
  • Pocket

スポンサードリンク

defined

PHPの定数と変数をどう使い分けるのか、使いドコロがイマイチ分からないという方も多いのではないでしょうか。

定数は途中で書き換えができないなど、変数とは違うルールがあります。

変数だと途中で値を上書きしてしまい、上手くプログラムが動かなくなることもあるため、ハマってしまうことも…。

そんな時は定数を上手く使うと良いですね。

 

定数の使い方

define関数を使う

定数は途中で書き換えができないため、ユーザーIDやサイトURL、画像を格納するディレクトリなどプログラムの設定情報を格納する際によく使われます。

大文字、小文字どちらでも使えますが、一般的に大文字で定義されることが多いです。

クオーテーションで囲っていない大文字のアルファベットが出てきたら、「定数やな」と判断できますね。
define(‘定数の名前’, ‘格納する値’);

サンプル

以下のように表示される
tanaka0123@example.com

定数は上書きできない

上書きされない
tanaka0123@example.com

定数のルール

定数にも変数同様、以下のようなルールがあります。

使える文字

  • 英数字
  • 記号はアンダースコアのみ
  • 日本語もOK
    (一般的には使いません)

ルール

  • 先頭に数字は使えない
  • 大文字と小文字は区別される
  • 記号はアンダースコアのみ
  • 定数のスコープはグローバルなので、どこでも使える
  • 定義済みの定数は上書きできない

良い例、悪い例

  • USER_ID → ○
  • userId → ○
  • USER01  → ○
  • ユーザー → ○
  • 01USER → ×(先頭が数字)
  • USER-ID → ×(ハイフンは使えない)
  • USER ID → ×(スペースが入っている)
  • __USER__ → △(有効だが将来的に定義される可能性があるため避けた方がよい)

定義済みの定数

デフォルトで定義されている定数もあります。

同じ定数を使わないように気をつけましょう。

よく使われる定義済み定数

名前説明
__LINE__ファイル上の現在の行番号
__FILE__ファイル上のフルパスとファイル名
__DIR__そのファイルが存在するディレクトリ
TRUE真の値
FALSE偽の値
NULL値が空

定義済み定数の出力

デフォルトで定義されている定数や、新たに定義した定数の一覧を出力できます。

[E_ERROR] => 1
…中略…
[TRUE] => 1
[FALSE] =>
[NULL] =>
…中略…
[USER_ID] => tanaka0123@example.com

定義済みの定数が並び、その下に続けて独自の定数が続きます。

定数の値も見れるので便利ですが、かなりズラズラ〜っと出てきます。

しかも改行していないので見にくいです。

ブラウザの「ソースの表示」機能でソースを見れば、改行されて綺麗に見れますね。

他のメンバーがどんな定数を定義しているか、デフォルトの定数のチェックなど様々な用途で使えるでしょう。

config.phpで定数を管理しよう

定数をプログラムの中にちりばめて使うこともできますが、定数の値を変更する際のメンテナンス性が悪くなります。

定数だけのファイル(config.phpなど)を作成し、必要に応じて別ファイルから読み込むようにすると、メンテナンス性もアップするでしょう。

別ファイルでの管理

◇config.php

設定情報等のファイル

◇index.php

require_onceなどで読み込んで使う

定数を上手く使い、プログラミングの効率を上げていきましょう。

スポンサードリンク

  • このエントリーをはてなブックマークに追加
  • Pocket

コメントを残す

*