2012-01-02 11 views
0

チームの中でより大きなシステムを開発する場合、多くの場合、アプリケーションとデータベースを実装するために別々の人がいます。このような場合、データベース設計と実装が最初に現れます。データベース開発者は、いくつかのモデリングツールを使用してテーブルを設計し、作成します。アプリケーション開発者は、アプリケーションコードの中からルールを作成して最初から追加したくなるでしょう。ただし、実際の列タイプと長さの制限はすべてのDBテーブルにすでに設定されているため、作業を複製しています。また、データベース開発者が責任を持ってDBを更新している場合、アプリ側でルールを更新するのを忘れるとバグが発生する可能性があります。したがって、既存のデータベーススキーマテーブルからこれらのルールを取得し、入力検証(またはモデル)クラスに「マウント」する必要があります。データベーススキーマに関してフォーム入力を検証する方法は?

したがって、どのようにこれを行う必要があるかを示す一般的なアプローチ(および例)、ライブラリまたはフレームワークがあります。私はルールを持っているCodeigniterフレームワークを見てきましたが、それらのルールは既存のDBから取り込まれていないので、明示的に定義する必要があります。

PS。私はすでに軽量Codeigniterのようなフレームワークを使用しているので、シンプルな(しかし十分な)ソリューションが最も望ましいでしょう。私はヘビー級アプローチに頼りたくありません。

答えて

1

Zend_Db_Table_Abstractを試すことができます。 Zendフレームワークではいくつかの初期設定が必要ですが、(他のPHPフレームワークとは対照的に)プロジェクトに必要な部分のみを使用することができます。 describeTable()メソッドを使用すると、テーブル構造についての情報を得ることができます。また、insert()関数をオーバーロードして型を明示的にチェックしたり、必要な検証をしたりできます。

もう一つの潜在的な選択肢は、繁栄ライブラリーの一部であるfSchemaです。私は過去に豊かな経験を積んできました。

どちらもモジュラーで、文書化されており、使いやすいです。

+0

クール、ありがとう:) – Centurion

関連する問題