0

安定した基盤となるシステムを必要とする本番システムの場合、オラクルを CakePHP で動作させるためのアイデアを考え出す必要があります。そうでない場合は、他のフレームワークに移行する必要があります。ケーキの上に)。

私は 1.3 データソースの使用について読み、それを変更して 2.x で動作するようにしましたが、これはすべて実際には公式ではなく、安定しており、完全にテストされており、機能が不足していたり​​、そのようなものです。

これは正式なデータソースができるまでのアイデアですが、doctrine を DBAL として使用するためのインターフェースとして oracle データソースを使用するのはどうでしょうか?

個人的に私はドクトリンの経験がありませんが、それについて良いことを聞きました.最小限の労力でデータソースをパススルークラスとして使用し、バックグラウンドでドクトリンを使用することは可能でしょうか?

そうすれば、基礎となる実証済みの DBAL が得られ、データソースはパススルー クラスとしてのみ機能します。

彼らのウェブサイトをざっと見た後、次のようなことができます:

$qb = $conn->createQueryBuilder()
->update('users', 'u')
->set('u.password', md5('password'))
->where('u.id = ?');

$qb = $conn->createQueryBuilder()
->delete('users', 'u')
->where('u.id = :user_id');
->setParameter(':user_id', 1);

これは条件配列とまったく同じように見えますが、groupby と joins については知りません (それが私がここにいる理由です)

皆さんはどう思いますか?実績のある dbal で Cake oracle をサポートするための実行可能なオプションですか?

4

2 に答える 2

2

CakePHP 3 は、 CakePHP 3 Driver for Oracle Databaseを介して Oracle をサポートするようになりました。Oracle 11g と 12c の両方に互換性があり、カーソル、メソッド、シーケンスなどの主要機能へのアクセスが提供されます。CakePHP のページネーションもすぐに使用できます。小切手:

ありがとう、

于 2016-03-15T11:12:56.203 に答える
0

最小限の労力でデータソースをパススルー クラスとして使用し、バックグラウンドで教義を使用することは可能でしょうか?

はい、可能ですが、最小限の労力ではできません。CakePHP クエリを Oracle クエリ構文に直接変換するか、doctrine API を使用してクエリを再構築する必要があります。これは、ネイティブのオラクル構文を使用せずに完全なオラクル ドライバーを実行するよりも時間がかからないと思いますが、それでも多くの時間がかかります。

1.3 ドライバーを 2.0 で動作させるのにどれだけの労力がかかるかは確認していませんが、既に使用している人がいる場合は、単体テストがあるかどうかを確認してください。単体テストがない場合...まあ...ある場合は、このプロジェクトに貢献し、ドライバーの完成を支援することで、より速くなる可能性があります。

したがって、迅速な解決策を探しているなら、私は何もないと思います。リソースがあれば、ドライバーを迅速に構築するのに役立つ専門の CakePHP 企業があります。それがあなたにとっての選択肢かどうか教えてください。

于 2013-07-04T12:47:01.593 に答える