人間が読める、しかも解析可能なドキュメント形式が必要です
-
25-09-2019 - |
質問
私は、必要なことを達成するためのより良い方法が何百万もあるプロジェクトの 1 つに取り組んでいますが、他に選択肢がなく、この方法で行うしかありません。ここにあります:
Web フォームがあり、ユーザーがそれに記入して送信を押すと、フォーム データを使用して人間が判読できるテキスト ファイルが作成されます。次のようになります。
field_1: value for field one
field_2: value for field two
more data for field two (field two has a newline in it!)
field3: some more data
私の問題はこれです: ユーザーが編集できるように、このテキスト ファイルを解析して Web フォームに戻す必要があります。
どうすれば確実な方法でこれを達成できるでしょうか?データベースはオプションではないので、これらのテキスト ファイルを使用する必要があります。
私の質問:
- 上記の例の形式を使用してこれを行う確実な方法はありますか?
- 人間が判読できる形式はどれがより適切に機能するでしょうか (つまり、形式を変更できます)
- 人間が読めるとは、プログラマーでなくても読んで、何が何であるかを理解できることを意味します。
このプロジェクトはPHPを使用しています。
アップデート
人間が読めるというのは、あなたの祖母を含め、誰でも文章を読んで圧倒されないという意味です。
解決
私はまだ、人間の読み取り可能が必要 解析可能なドキュメントフォーマット
これは YAMLするができるように設計されたものです。あなたは自分のサイト上またはウィキペディアの上でそれについての詳細を読むことができます。
ウィキペディアを引用します:
YAML構文が簡単にできるように設計されました ほとんどに共通のデータ型にマッピングされました ハイレベル言語:リスト、ハッシュ、および スカラー。そのおなじみのインデント アウトラインとリーン外観は、それを作ります 特に作業場所に適し 人間は、ビューまたは編集データへの可能性があります このような構成などの構造、 デバッグ中にダンプファイル、および 文書のヘッダー
XMLを超える利点は、ユーザーを混乱させる可能性があるタグを使用していないということです。そして、私は(も言及されました)INIよりもそれのクリーナーが、それは単に代わりにイコール記号、セミコロンと引用符のコロンを使用しているためだと思います。
サンプルのYAML次のようになります。
invoice: 34843
date : 2001-01-23
bill-to: &id001
given : Chris
family : Dumars
address:
lines: |
458 Walkman Dr.
Suite #292
city : Royal Oak
state : MI
postal : 48046
ship-to: *id001
product:
- sku : BL394D
quantity : 4
description : Basketball
price : 450.00
- sku : BL4438H
quantity : 1
description : Super Hoop
price : 2392.00
tax : 251.42
total: 4443.52
comments: >
Late afternoon is best.
Backup contact is Nancy
Billsmer @ 338-4338.
他のヒント
XML のオプションです。
IてるだけINI文字列はかなり読み取り可能であることを言うつもります:
Pet_Name = "Fred"
しかし、あなたは常にあなた自身のフォーマットをロールバックできます。ような何かます:
Key: ValueValueValueValueValueValue
Key: ValueValue
基本的に、あなたは改行で文字列を爆発するだろう、テキスト文字列の外観は、そのキーとしてコロンと使用のインフロント、およびコロンの後と改行前のデータの値です。