PHP でコメントを素早くスイッチする方法

はじめに

実務にて、定数の一部を楽に切り替えられるようにする必要があり、それを解決した情報になります。Web 開発の初心者、初学者の方にもわかりやすいように、ソースコードを編集してサンプルを公開しています、ご参考になれば幸いです。

検証環境

サンプル

解説

小規模な Web 開発では、ステージング環境と検証環境を構築しないで、開発環境で機能の動作確認をしてからファイルをサーバーにアップロードすることがあります。或いは、FTP クライアントから直接サーバーのファイルを編集することもあるでしょう。

そのような開発では、素早く本番用と検証用の値を切り替えたいことがあります。例えば、API キーやリクエスト URI などです。

そんな時に便利なのが コメント をスイッチするテクニックです。

値を切り替える方法

値を切り替えたい場合は、下記のようなコメントで実現できます。

  • /**/ A /*/ B /**/ : A が出力される。
  • /** A /*/ B /**/ : B が出力される。
const API_KEY = /**/ '1yKWejFX' /*/ 'uVd8Wj0T' /**/;

var_dump(API_KEY); // string(8) "1yKWejFX"

最初の /**/ から最後の / を削除する。

const API_KEY = /** '1yKWejFX' /*/ 'uVd8Wj0T' /**/;

var_dump(API_KEY); // string(8) "uVd8Wj0T"

範囲を切り替える方法

範囲を切り替えたい場合は、下記のようなコメントで実現できます。値の切り替えと同じですね。

  • /**/ A /*/ B /**/ : A が出力される。
  • /** A /*/ B /**/ : B が出力される。
/**/
const API_URL = '1yKWejFX';
const API_KEY = 'https://webgroove.work/';
/*/
const API_URL = 'uVd8Wj0T';
const API_KEY = 'https://webgroove.work/';
/**/

var_dump(API_URL, API_KEY); // string(8) "1yKWejFX" string(23) "https://webgroove.work/"

1 行目最後の / を削除する。

/**
const API_URL = '1yKWejFX';
const API_KEY = 'https://webgroove.work/';
/*/
const API_URL = 'uVd8Wj0T';
const API_KEY = 'https://dev.webgroove.work/';
/**/

var_dump(API_URL, API_KEY); // string(8) "uVd8Wj0T" string(27) "https://dev.webgroove.work/"

他にも、下記のようなコメントでも実現できます。

  • //* A /*/ B //*/ : A が出力される。
  • /* A /*/ B //*/ : B が出力される。
//*
const API_URL = '1yKWejFX';
const API_KEY = 'https://webgroove.work/';
/*/
const API_URL = 'uVd8Wj0T';
const API_KEY = 'https://dev.webgroove.work/';
//*/

var_dump(API_URL, API_KEY); // string(8) "1yKWejFX" string(23) "https://webgroove.work/"

1 行目の / を一つ削除する。

/*
const API_URL = '1yKWejFX';
const API_KEY = 'https://webgroove.work/';
/*/
const API_URL = 'uVd8Wj0T';
const API_KEY = 'https://dev.webgroove.work/';
//*/

var_dump(API_URL, API_KEY); // string(8) "uVd8Wj0T" string(27) "https://dev.webgroove.work/"

まとめ

環境変数で分岐させるまでもない場合に便利です。

以上です。

おわりに

サンプルのソースコードを再利用する際は、要件定義やコーディング規約にお気を付けください。