2012-01-20 6 views
2

私はsymfony 1.4を使用していますが、propelにはかなり新しいです。私は、他の開発者が書いた新しいプロジェクトの既存のコードベースを見ています。素人の観点からピアを理解して推進する

、二つのクラス、モデル、及びmodelPeerクラスに分離モデルを有することの目的は何ですか?

私はビジネスタイプのデータを取得し、もう1つはデータレイヤーを多く表すと仮定しますが、2つのクラスを調べるときには区別できません。

任意の助けが理解される:)

答えて

6

ちょうど行(モデル)とテーブル(ピア)と考えます。シンプルではあるが、初心者の方がこのように説明した後で、少しの初心者がアイデアを得た:)

+0

ありがとうございます。レガシー1.2のSymfonyプロジェクトに参加しました。これは私に – morganwebdev

1

もう、ピアクラスを忘れる方がよい。私のアドバイスはそれらを使用しないことです - とにかくPropel2ではピアクラスが削除されます。

次に、ActiveRecord API(モデルクラス)とActiveQuery APIを処理するだけです。

編集:ピアが何を処理するかを知るには、https://github.com/propelorm/Propel2/issues/36を読んでください。開発者はではなく、はこの部分にコードを入れてください。 ARとAQは十分です。

+0

-1、残念です。 OPがPropel 1.xを使用している場合、ピアは不可欠です - Propelを使用したり理解したりすることなくこの一連のPropelを使用することはできません!ピアはテーブル/カラム名を保持するために使用され、 'doSelect'のようなテーブル全体のデータベース操作を静的に呼び出すために使用されます。 – halfer

+1

いいえ、ピアは** ActiveQueryが提供されて以来必須ではありません**。そして、これらのクラスに対処する必要はありません。私はピアクラスが何であるか知っています。私のプロフィールをチェックしてください... –

+0

こんにちはウィリアム。あなたのアドバイスが決してそれらを使用することではないと言っているのですか?*それらにコードを入れないのですか?私が知る限り、Propel 1.xの*ピアを使用することは避けられません。たとえば、MyPeer :: TABLE_NAMEやMyPeer :: COLUMN_NAMEを使用せずに、Queryクラスを使用して列名または表名を検索できますか?ピア( 'MyPeer :: getTableMap()')を使わずにテーブルの関連するTableMapを取得できますか?ピアツーピアを避けるために私の現在のコーディングを調整することは素晴らしいと思うので、私は部分的に頼みますが、私は現在、いくつかのインスタンスが避けられないという見解を持っています。 – halfer

関連する問題