Changes between Initial Version and Version 4 of Ticket #1296


Ignore:
Timestamp:
2011/05/13 14:47:28 (15 years ago)
Author:
Seasoft
Comment:

個人的には、拡張クラスを次バージョンあたりで削除するのが理想と考えているので破棄したのですが、2.11 系としての対応としては、本来はバグとして修正するのが正しいと思います。

そのため、2.11の際に、ひと通りclass_extendsに対応させましたが、 SC_View周りを r20306 で、拡張クラス対応した際にコンストラクタ部分まで考慮できていませんでした。

SC_View に限らず、SC_* と SC_Helper_* 全般での対応が必要になると思います。

参考までに、私が検討した際の課題を説明欄に記載しておきますね。

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #1296

    • Property Owner somebody deleted
    • Property Summary changed from SC_View のコンストラクタの拡張が無視される to SC_* のコンストラクタの拡張が無視される
  • Ticket #1296 – Description

    initial v4  
     1==== 課題 ==== 
     2  * 拡張ページクラスで親クラスのコンストラクタをコールするように改訂すると、(EC-CUBE の標準実装の開発として) コンストラクタの引数を変更する場合に2つのクラスの同期を保証する必要があり、メンテナンスコストが上がる。 
     3    * PHP の場合、「関数処理」関数で回避する方法も考えられそう。しかし、この場合実行コストがどの程度上がるか把握していない。また、ソースの連続性がなくなり、ソース分析が面倒になる (多分、ツール類では構造分析できない)。 
     4  * PHP の言語仕様 (コンストラクタは継承しない) との整合は無視するのか?