基本的には、Enumを使った方法と、DBのマスタテーブルを用意する方法の2パターンがあるかと思います。PHP8.1のEnumを使用するか、それ以前のverの場合は自作Enumが必要になるかと思います

Enum型クラスのメリットと、PHPでEnum型のクラスを自作する際の一例
本記事では、Enum型クラスのメリットと、PHPでEnum型のクラスを自作する際の一例について紹介しています。通常の定数で扱うよりも、予期しない値の代入を防止できたり、数値に名前が付くことでの可読性の向上が見込めたりと、メリットが結構ありますので、ぜひ参考にしてみてください。
config/const.phpにひたすら定数を列挙するという方法もありますが、ファイル自体の行数が肥大化しがちなのと、オブジェクト指向の観点からみるとやはり定数クラスを用いるほうが適切かと思われますので、本記事では割愛しています。
Enumを使用する場合
メリット
- 保守性が高い
プログラム内に記載し、意味のあるクラス名をつければ、可読性、保守性が高く、保守がしやすいコードになります。 - IDEの補完も効くのでコーディングがはかどる
- DBを見なくても、区分名称が把握・取得できる
デメリット
ユースケース
- 基本的には、性別や受注ステータスなど、頻繁に変更されないデータはEnumで管理すると良い
DBのマスタテーブルを使用する場合
IDとその区分名称を管理する。一般的には、”mst_”という接頭辞をつけるというようなルールを設けてマスタテーブルを用意する
メリット
デメリット
ユースケース
- 比較的変更される頻度の高い項目はこちらで管理するほうが良いかと思います