バグ報告 > その他 > define.phpにて、バッファを初期化している件について |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
mrasu |
投稿日時: 2018/5/28 19:57
対応状況: −−−
|
新米 登録日: 2018/5/28 居住地: 投稿: 2 |
define.phpにて、バッファを初期化している件について [EC-CUBE] 2.13
[現象] 不具合なのかどうかが判別できなかったので、伺いたいです。 define.php(https://github.com/EC-CUBE/eccube-2_13/blob/master/html/define.php#L18)にて、 bufferが空になるまで、ob_end_cleanを呼び出していますが、なぜこのような初期化を行っているのでしょうか? というのも、EC-CUBEが生成したhtmlに対して、実行したい処理が有るため、EC-CUBE実行前にob_startを実行しようとおもったのですが、対象処理によってhtmlが取得出来ませんでした。 プラグインで実現できるとは思うのですが、実行したい処理はEC-CUBEよりも大きな範囲を対象としている処理であるため、EC-CUBE内に作るのをためらっています。 そこで、この処理が、もし、何らかの特定のbufferを対象としたコードであるのであれば、0まで消すのではなく、そこまでのレベルを消すというように処理を変更していただくことは可能でしょうか? 該当のコードは以下となります。 ``` // bufferを初期化する while (ob_get_level() > 0 && ob_get_level() > 0) { ob_end_clean(); } ``` よろしくお願いします |
red |
投稿日時: 2018/5/29 10:33
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1568 |
Re: define.phpにて、バッファを初期化している件について どういった処理が必要で、なぜここがじゃまになるのかがわからないですが
ご自身でプルリクをするといいんじゃないでしょうか
|
nanasess |
投稿日時: 2018/5/29 17:01
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2303 |
Re: define.phpにて、バッファを初期化している件について PHP4 時代に、出力バッファリングを使用してエラーハンドリングしていた頃の名残りですね。
過去のバージョンのコードで、出力バッファリングの制御がスパゲッティだったので、ここで一旦初期化しておくようにしたような記憶があります。 EC-CUBE 本体として不具合かというと、そうではないと思いますので、必要に応じてカスタマイズしていただければいいと思います。 あと、郵便番号辞書登録や、CSVアップロードの進捗表示で、逐一出力をフラッシュしないと正常に動作しなかったと思いますので、機能によっては初期化処理が必要になると思います。 |
mrasu |
投稿日時: 2018/5/30 14:39
対応状況: −−−
|
新米 登録日: 2018/5/28 居住地: 投稿: 2 |
Re: define.phpにて、バッファを初期化している件について なるほど。理解しました。
ありがとうございます! |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |