私は、非オタク、非プログラマーを対象とした PHP アプリケーションを作成しています。たくさんの「オプション」を含むオプション ページを作成し、それらのオプションをどこかに保存する必要があります。データベース アプリケーション (MySQL/PostgreSQL/SQLite) を使用することは、ユーザーが必要とするよりも多くの構成が必要になるため、問題外です (ユーザーが望まない場合は、いかなる種類の構成も行いたくありません)。 . したがって、残された唯一の解決策は、構成を構成ファイルに書き込むことです。一方、ユーザーがオタクで、構成ファイルを直接編集したい場合 (または、SSH または何らかの理由でファイルをリモートで編集したい場合) に備えて、その構成ファイルを人間が判読できるようにしたいと考えています。 ..)
私が見つけたいくつかの潜在的な解決策は次のとおりです。
JSON ファイルを使用して...
...ファイルからデータを取得し、json_decode を使用してデータを変換し、HTML に出力し、変更を取得し、json_encode を使用してエンコードし直します。画像が得られます。この方法について私が気に入らない点がいくつかあります。主なものは、PHP を使用してエンコードされた JSON データが適切にフォーマットされておらず、事前に再フォーマットしないと編集が非常に難しいことです。
XML ファイルの使用
私もそれがあまり好きではないので、その解決策については説明しません...そして、XSLTの使い方がわからず、本当に学びたくないです...そして、少なくともそれはかなり重い解決策であるためです. JSON ソリューションとの比較。私が間違っている場合は修正してください。
INI ファイルの使用
私は INI ファイルが大好きです。本当に大好きです。私はそれらが本当に最も読みやすいと思います、そして混乱するのは難しいです(つまり、構文エラー)。このソリューションの問題は、ini ファイルを書き込み/編集するためのネイティブな方法がないことです。カスタムメソッドを作成する方法を示すトピックを見つけました...もっと良いものが見つからない場合は、それが採用される解決策になるかもしれません...
2 つのファイルを使用する
最後の解決策は、INI の解決策と同じくらい妥当に思えます。実際、INI ファイルを「入力」 (ユーザーが必要に応じて編集するファイル) として使用し、XML/JSON ファイルを出力 (ユーザーがオプションを変更するたびに PHP によって編集されるファイル) として使用できます。 Web フロントエンド)。この時点で、「出力」ファイルが常に最新の状態になるように、構成ファイルを直接編集した場合は、構成を手動で再読み込みするようにユーザーに依頼するのが最善の解決策です。
上記の解決策はどれも完璧ではないことを知っています。そのため、アドバイスを求めるためにこのトピックを作成しました。最善の解決策は何ですか?たぶん(おそらく)私はさらに別の解決策を見逃していました。
最後にもう 1 つ: YAML は有効なソリューションではありません。慣れていないと構文を台無しにするのがずっと簡単だからです。PHP で PHP を編集するのは面倒なので、PHP も解決策ではありません。PHP は、構成を取得したいが Web フロントエンドから直接編集したくない場合にのみ有効なソリューションです。