
今日、多くのプロジェクトでは複数のプログラミング/スクリプト言語を使用し、標準を採用しています。乾いた伝統的に同じ情報が必要な場合は、別々の構成ファイルがあってはなりません。いくつかの調査の終わりに、/etc
Ubuntuで互換性のない構文が多用されていることがわかりました。
varname=value
-/etc/adduser.conf
varname: value
-/etc/debconf.conf
varname = value
-/etc/deluser.conf
$varname value
/etc/insserv.conf
varname value
-/etc/login.defs
set varname value
-/etc/lftp.conf
[section] varname = value
/etc/mke2fs.conf
section label varname value set varname value
/etc/smartd.conf
私が知る限り、これらのどれも」YamlまたはXMLまたはJSON」(そのうちの一つはイニしかし)。単純値(debug = true
、、、)、単純値配列()、および他の変数を参照する値()を提供する必要があるプロジェクトにwelcome = "Hello world!"
どのような形式を推奨し、その理由を説明しますか?threads = 4
servers = [dev, test, prod]
thread_msg = "Using $threads threads"
吹く、真珠そしてPHP?
答え1
最初の3つは構成形式ではなく直列化形式です。これらの形式は、機械が読み書きするのは簡単ですが、人間が読み書きすることは容易ではありません。するいいえ設定に使用してください。ユーザーがあなたを嫌うかもしれません。
また、これらのファイルの一部はNAME value
ペアで構成されています。他のファイルは実際の構成ファイルではなくシェルファイルである可能性があります。これは、基本的に処理のためにシェルから取得できることを意味します。
INIやApache Styleなどの実際の構成形式を使用することをお勧めします(Config::General
パールから)
Config::Any
ユーザーがデフォルトで目的の形式を選択できるようにするため、設定されたPerlモジュールをロードするのに最適です。
答え2
Bashでは他の形式を読み、解析し、実行するのは簡単ではありませんが、Perlはこれらの作業のために書かれた言語ですが、PHPではかなり簡単なので、bashで得られる形式を使用します。