定数とは?
この記事の動画版はこちら(画像クリックでYoutubeに飛びます)
定数とは?
結論から先に言うと
定数というのは、「内容を後から書き換えることができない変数」のことです。
変数というのは、プログラミングをする時に使う「データを入れておく箱」のようなものでしたね。
変数を使うことで、プログラミングをより便利に行うことができます。
例えば、ネットショップのアプリなどで、このような金額計算のプログラムがあったとします。
商品代金「100円」に、買った数量「5」を掛け算して、合計購入金額を計算するプログラムです。
これをこのままプログラムに書いてしまうと、何度動かしても「100 × 5」の計算しかできないプログラムになってしまいますが
このように単価や数量の各数値を「変数」として定義しておくと、それぞれの箱に好きな数値を入れるだけで、どんな計算もできるプログラムになります。
例えば、単価120円の商品を3個買ったなら
こんな風に、計算プログラムは1つ書いておくだけで、箱の中に好きな数字を入れれば、どんな商品・数量でも計算できるようになります。
では、これに「消費税の計算」も行うようにした場合はどうでしょう?
計算式はこんな感じになりますね。
ただ、消費税の税率(10%)は、処理する度に変わるものではなく、毎回固定です。
これを、単価や数量と同じように変数で定義してしまうと、誤ってプログラムの中で変数の値が書き換えられてしまい、思わぬバグを生んでしまうかもしれません。
では、変数を使わずに直接「1.1」と書いておけば良いかと言うと、金額計算はソースコードの色々な箇所にある可能性があるので、その全ての箇所に1.1と直接書いていては、もし将来税率が変わった場合にソースコードの修正が大変です。
こういった場合に使うのが「定数」です。
定数は一度設定したデータを後から書き換えることが出来ないため、税率を定数として定義しておけば、プログラム内で書き換えられることがなく安全です。
しかも、定数として1箇所で定義されているので、もし税率が変わった場合も、ここを書き換えるだけで修正が完了します。
こういった、色々な場所で使われる値だけど、プログラム内で変更してほしくないような「固定値」には、定数を使うようにしましょう。
定数の使い方
PHPでは、定数はこのように定義します。
このように定義しておくと、プログラムの中ではTAX_RATEと記述するだけで、1.1という値が呼び出せます。
変数のように頭に$を付ける必要はありません。
また定数の名前は、それが定数だということが分かりやすいように、全て大文字で名前を付けるのが一般的なので覚えておきましょう!
定数の活用例
実際のWebアプリ開発では、先ほど挙げたような計算の固定値の他にも、例えば、データベースの接続情報、会社名やコピーライトなどのページの固定表記文字列、サービスの管理者のメールアドレスや、WebAPIの認証キーなど、色々なソースコードから参照されるものの、内容が変更されない固定値は定数として定義します。
このように、別途「定数用のファイル」を作って、そこにまとめて定義することが多いですね。
まとめ
・変数は、内容を何度も書き換えることができる箱
・定数は、最初に入れた内容を後から書き換えることができない箱
・定数は、プログラム内で後から書き換えられると困るような固定値に使う