PHPの設定を変更する「php.ini」に記述されているカギカッコについてです。
php.iniを開くと[PHP]や[mbstring]、[MySQL]といった記述があると思いますが、いったいこのカギ括弧“[]”の正体は何なのか?気になったので調べました。
調べても意外とヒットしなかったので備忘録でもあります。
php.iniのカギカッコの正体はセクションマーカーと呼ばれるものです。
php.iniのカギカッコの正体とは?
php.ini記述でセミコロン(;)がコメントアウトなのは有名で、セミコロン以下の文章は無視されますが、同様にカギカッコの中“[]”も無視されます。
[PHP]や[MySQL]という記述はあっても無くても動作には何の影響もないのです...。
ん?じゃあこの半角カギカッコって何のためにあるの??
あっても無くても動作に影響はないので、いつか調べようとは思っていたのですが、今回やっと重い腰を上げて調べました。
php.iniのカギカッコはセクションマーカー
php.iniに使用される角括弧“[]”は、セクションマーカーと呼ばれる記述らしいです。
これ、よ~く調べるとPHPの公式サイトに説明がありました。
; 引用符をつけないセミコロン(;)の後のテキストは、すべて無視されます
[php] ; セクションマーカ (角括弧の中のテキスト) は無視されます
セクション(区切り)、マーカー(印)でそのままの意味です。
セクションマーカーはここから~に関する記述というのを区切る目印になります。
コメントアウトと同様にセクションマーカー内のテキストは無視されるので、有っても無くてもphp.iniの動作に影響はありません。機械のための記述というよりは、人間のための記述という点もコメントアウトと同様です。
セクションマーカーの使い方
セクションマーカーを使うことで、以下のようにphp.ini内のコードを視覚的に見やすくすることができます。
[xxx] xxxに関する記述 xxxに関する記述 xxxに関する記述 [yyy] xxxに関する記述 xxxに関する記述 xxxに関する記述 [zzz] zzzに関する記述 zzzに関する記述 zzzに関する記述
例えば[OPcache]に関する記述を書きたい時は、[OPcache]というセクションマーカーを探し、あればそこに追加。該当のセクションマーカーがなければ最下部にマーカーとコードを追加...というようにします。
こうすれば後から見た時や、他の人が見てもOPcacheに関する記述をすぐにまとめて確認することができますね。
また一部のエディターでは、このセクションマーカーを開閉できます。
開発エディターはほとんどのものがプログラムの関数を1ブロックにして開閉できると思いますが、そんな感じです。
このようにセクションマーカーはphp.ini内のコードを整理するために使います。
コメントアウトと併用すれば更に分かりやすいかも?
まとめ
以上、php.iniの半角カギカッコ“[]”についてでした。
[]はセクションマーカーと呼ばれ、その中のテキストは無視されますが、モジュールごとにマーカーを書いておけばここから~に関する記述...というのを後から確認するときに役に立ちます。
いつも最下部にコードを追記している方は、同じセクションマーカーが既にphp.iniに存在していないか確認し、あればそこに追記する感じにすると良いかもしれません。
この癖をつけておけばphp.iniに同じ記述が2つある!という事態も避けれます・w・