機能要望 > その他 > SC_DbConn を削除しました |
その他
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
nanasess |
投稿日時: 2010/8/12 20:07
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2313 |
Re: SC_DbConn を削除しました 引用:
1番目の対応も含め, SC_Query を singleton にして, 異常な循環参照を防ぐよう対応してみました. http://svn.ec-cube.net/open_trac/changeset/18784 SC_DB_DBFactory_Ex::getInstance(); で SC_Query のインスタンスを渡すアイディアは, Ex のインスタンスで SC_Query のインスタンスを参照できないため断念しました. その代わり, SC_Query::getSingletonInstance() で, SC_Query のインスタンスを Singleton で取得できるようにし, 無駄に SC_Query のインスタンスを生成しないようにしてみました. その他, PHPDoc コメントを書いたり, setXXX 関数で Chain of Responsibility パターンをサポートしてみたりしましたので, 興味のある方は是非試してみてください! |
nanasess |
投稿日時: 2010/8/12 15:46
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2313 |
Re: SC_DbConn を削除しました 引用:
賛成です. ゆくゆくは, SC_Utils は他のクラスに依存せず, できるだけ単独で動作することを目標にしましょう! |
seasoft |
投稿日時: 2010/8/12 13:54
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: SC_DbConn を削除しました 引用:
「SC_Utils の使用は比較的限定されている」という前提でしたら、「SC_Query や SC_DB_DBFactory の中から使用する SC_Utils のメソッドは、他の EC-CUBE クラスに依存させない」といった方針はいかがでしょうか?
|
nanasess |
投稿日時: 2010/8/9 10:06
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2313 |
Re: SC_DbConn を削除しました 引用:
おっしゃる通りなのですが, SC_Utils がデカ過ぎて, 9月末までというスケジュールを考えると難しいのではないかというのが正直な印象です. SC_Query や, SC_DB_DBFactory の中で, SC_Utils の使用は比較的限定されているので, まずは SC_Utils を切り離した方が, 本来すべき DB まわりの抽象化に工数が割けると考えた次第です. |
seasoft |
投稿日時: 2010/8/8 11:51
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: SC_DbConn を削除しました > * SC_DB_DBFactory では, SC_Utils を使用しないよう修正. SC_Query は, 他の EC-CUBE クラスに依存せず, 単独で動作するように.
こちらの意図は、どのようなものでしょうか? SC_Utils を別のクラスに依存しないようにするのが筋のような気もしまして。
|
nanasess |
投稿日時: 2010/8/6 16:46
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2313 |
Re: SC_DbConn を削除しました 以下の方針で, 追加の修正をしようと思います.
* SC_Query のコンストラクタの第2引数を true にすることで, DBエラーが発生しても処理を続行するように修正 * SC_DB_DBFactory_Ex::getInstance(); の引数で, SC_Query のインスタンスを渡す. これにより, SC_DB_DBFactory 内部での SC_Query の循環参照を防止する * SC_DB_DBFactory では, SC_Utils を使用しないよう修正. SC_Query は, 他の EC-CUBE クラスに依存せず, 単独で動作するように. |
seasoft |
投稿日時: 2010/8/6 16:18
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: SC_DbConn を削除しました 引用:
上で報告させていただきました下記2件の不具合が発現しないことを確認いたしました。 ご報告まで。 引用:
引用:
|
nanasess |
投稿日時: 2010/8/4 13:59
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2313 |
Re: SC_DbConn を削除しました
|
nanasess |
投稿日時: 2010/8/4 9:29
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2313 |
Re: SC_DbConn を削除しました 引用:
ありがとうございます. エラーハンドリングが, まだダメダメなので, 修正が追いついていませんでした(汗) SC_Query::isError() は, MDB2 のインスタンスしかチェックできないので, 本体の使用箇所を無くして廃止したいです. MDB2 を使うようになって, MDB2_Statement などもチェックする必要があるので, PEAR::isError() を使うようにした方が良いと思います. 他にも, エラーの発生した箇所がわかりにくかったり, いろいろ修正したい箇所がありますので, 後ほど修正分をコミットしておきますね. |
seasoft |
投稿日時: 2010/8/4 8:51
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: SC_DbConn を削除しました 引用:
一応、対処してみました。これで良いのか確信が無いので、確認をお願いします。> nanasess 様 http://svn.ec-cube.net/open_trac/changeset/18774
|
(1) 2 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |