ぶろぐ

日記です

PHPでの定数の扱い方


PHPっていうか、CakePHP前提で。
うう、どうします?
bootstrap.phpで読み込ますことは決定。
簡単にどういう方法があるか、思いつくものを。

定数クラスを作成(ApplicationConstants.phpとか)

  • Constant::hogeとかで読めるかな。

YAMLに書きだして読み込んでConfigure::writeしてConfigure::readで読み込む(渋いかも)

  • propertiesファイルに書いてもいいけど、どうせならYAMLがクールだよね!
  • 連想配列の構造もいけるのかな?(Configure::read('hoge.name');とか)
    • Configureさんは対応しているから、いけるのかな。これいいなー。

defineで定義してbootstrap.phpでconfig('constants.php');で読み込む

  • constant('define_name');でも定数利用できるみたいっすね。定数の利用が明示的なのでこっちが好きかも。Cっぽいやり方はなんとなくやだ、理由はない。(HOGE_CONSTANTSとか)強いて言うならgrepで"constant('とかでググれば定数使っている場所がわかるところとかが、後のデバック力が上がりそう。
    • ちなみに" constant('hoge.page.url'); "とかイケました。Javaのpropertiesファイル風の書き方が好きだったのでやりたかった…。

最近やった小さいコードでは、jsonを使って定数を吐き出したけど長い文章を吐き出したい場面に出くわし「ヒアドキュメント使いたい…JSONって改行できない…」と思いシケた。今後はPHPのクラスに定数をまとめよう、とか反省したばかり。
YAML先輩は改行いけた気がする。
と、うだうだ書きつつまずはまずは、defineで定義する方法でやります。なぜか、もうやっちゃったから。気が向いたらYAMLに書き出しするかなー