0

私は*sql/ phpアプリケーションをたくさん書いていますが、同じことを何度も繰り返すには、JavaScriptを常に書き直さなければならないことに気づきます。通常、私が使用しなければならないAPIが非常に単純な場合、PDOを介してSQLテーブルを更新するPHPと対話するための1回限りのajaxメソッドを作成することは大したことではありません。

しかし、phpからjavascriptに送信され、解析、編集、更新、PHPに送り返され、アプリケーション層によって更新される必要があるビッグデータオブジェクトに関しては、これらの「ビッグ」を処理するために1日中javascriptを作成しています。オブジェクト」とすべて。少し。もの。それらの中で更新される可能性があります。

より良い方法が必要です。それは何ですか?

4

1 に答える 1

0

フロントエンドの js コードの大部分を書き直す原因となる変更の性質は何ですか? フロントエンドで表示する必要があるのは新しいデータですか、それともデータ構造の変更ですか?

それが新しいデータであり、それに対処するためにフロントエンド コードの更新に集中するのをやめたい場合は、JavaScript がフロントエンドをより動的な方法で構築できるようにする何かを実装する必要があるでしょう。これは、フロントエンド js が解析できるデータ形式で構造化された UI マッピングとして返されるサービスとして機能することがわかりました (必要なすべてのデータと、おそらくそのデータの形式に関するいくつかの情報を含める必要があります。 、文字列、テキスト、日付など)。

これは、フォーム データによっては問題なく機能する場合があります。これは基本的に、フォーム オブジェクトが CakePHP や Drupal などの MVC フレームワークで機能する方法です。実際、ユーザー向けのコンテンツ エントリを提供することが目標である場合は、これらのフレームワークの 1 つにこのコードを実装することを検討することもできます。

問題が構造データに変更を加えていることであるが、概して同じデータ フィールドを表示している場合は、おそらくフロントエンド データ モデルとバックエンド データ モデルの抽象化が必要なだけです。返す構造化データがどのように見えるかを定義する JavaScript オブジェクト定義を作成し、バックエンド モデルがどのように見えるかを定義し、2 つの間のマッピング レイヤーを定義できます。バックエンドでデータの構造が変更された場合、JavaScript オブジェクト定義とマッピング レイヤーの間のコントラクトを変更する必要はなく、マッピング レイヤーとバックエンド データ モデル レイヤーの間のコントラクトを変更するだけで済みます。

于 2012-11-03T15:51:31.550 に答える