2012-02-19 3 views
2

私はクライアント用のウェブサイトを構築しています。ランディングページにはカスタマイズ可能なコンテンツが4つあります。内容は最小限で、主に画像への参照、関連するリンク、注文...の3つのフィールドです。最小限のコンテンツ用のデータベースとXMLファイル

私はすでに他のCMS関連の側面で多くのMySQLテーブルを使用していますが、この1つの用途ではデータベーステーブルが本当に最適なオプションかどうか疑問に思っています。テーブルには4つのレコードしかなく、3つのカラムがあります。リンク先ページが読み込まれたときに読むだけで、あまり頻繁に書き込まれることはありません。

この最小限の情報を格納するためにMySQLテーブルを使用する方が、[プログラミング]ワークフローには十分に適しているので、より良いことはありますか?または、情報を格納するXMLファイルを使用する方がよいでしょうか?

UPDATE:エンドユーザー(データベースについて何も知らない)、その後の選択、私は彼らはその後、自分のコンピュータから画像をアップロードし、更新する4つの項目のいずれかを選択するために作成したWebインターフェイスを介して行くことになりますサイト(またはオフサイト)のページのリストからのリンク。 XMLファイルまたはデータベーステーブルは、サーバー上のイメージの場所とラップするためのリンクを格納します。

+1

なぜテンプレートを作成して代わりに使用しないのですか?あなたがどこからでもphpmyadminにアクセスできるなら、私はdbの方法で少なくともあなたはそれを変更することができます。 –

答えて

3

データベースは、動的データを格納するための正しいソリューションです。しかし、私はこのような状況のためにMySQLが過剰であるように思えます。それはまた、他のすべてのものを管理して管理することを意味します。しかし、XMLのようなフラットファイルを使うことも悪い考えです。幸いにもSQLiteは単なるものです。

のではなく、関数fopenを使用して()の代わりにSQLiteデータベースを使用して、アプリケーションが使用するディスクファイルにXMLまたはいくつかの独自のフォーマットを書くこと:

SQLite siteからこれらのスニペットはことをお勧めしましょう。パーサーを作成してトラブルシューティングする必要がなくなり、データがより簡単にアクセスできるようになり、プラットフォーム間での更新が可能になり、更新はトランザクション処理されます。

通常のディスクファイルに設定を必要とせず情報を保存するため、SQLiteは中小規模のWebサイトをバックアップするデータベースとしてよく使われます。

続きを読む。

PHPコードはデータベースとのインターフェイスとして、PDOまたは特定のSQLite extensionのいずれかを使用します。 PDOはより柔軟になっていますので、私はそれを試してみましょう。「PDOとPDO_SQLITEドライバはPHP 5.1.0でデフォルトで有効になっています」 (reference)参考文献やチュートリアルを探すのは簡単で、検索するだけです。

+0

うわー!この回答に感謝します。私はSQLiteも考えていませんでした。私はこれまでのリファレンスを参照してきましたが、私は非常によく知っているので、主にMySQLに固執しています。 SQLiteは実装が非常に簡単です。 PHPについてSimpleXML LIbraryを使用するよりも、SQLの方が理解しやすいです。私はPDOに少し慣れています。私は多くのデータベースにezSQLを使用し、SQLiteをサポートしているので、対話はシームレスでなければなりません。 – eckenroed

+0

ezSQLは単なるものです。実際には問題ありません。特にこれは単純なユースケースです。あなたはMySQLを知っています。あなたはezSQLを知っています。これはケーキです。 XMLパーサーを使用すると複雑な問題が発生します;-) – JCotton

+0

私はsqliteを使って何度も働き、カストマーの静的ページの一部を動的にしました。私はそれに問題はない。 –

1

PHPを使用する場合、SimpleXMLライブラリは必要なものを提供し、このようにXMLを使用しますあなたは行くのが最も簡単な方法かもしれません。 MySQLの設定やクライアントが何かを混乱させる心配はありません。 XMLファイルの復元とメンテナンスも簡単です。サイトを大きく成長させる予定がある場合は、将来の拡張性が懸念されるかもしれません。とにかくそれは私の2セントです。

+0

それは良い答えです。このサイトはMySQLバックボーン上に構築されており、無限に拡張可能です。しかし、ランディングページには、残りのスコープ内に必ずしも収まらない4つのアイテムがあります。そのため、その1つのアイテムにMySQLの代わりにXMLを使用することを考えています。 – eckenroed

+0

あなたが念頭に置いていることにはうってつけのようです。利用可能な機能を読んで、それがあなたのニーズをカバーしているかどうかを確認することができます。 http://php.net/manual/en/book.simplexml.php – chapman84

関連する問題