PEAK XOOPS - Re: kernel/module.php のキャッシュが効いてないバグ in englishin japanese

Re: kernel/module.php のキャッシュが効いてないバグ

Target News
Subject kernel/module.php のキャッシュが効いてないバグ
Summary サブメニューの実験をやっていて気づいたのですが、あるモジュールの xoops_version.php が2度も3度も読み込まれてしまいます。xoops_version.phpにロジックが書いてあるモジュールも多いので、二重読込はそのままオーバーヘッドになります。ただ、kernel/module.php を...

List posts in the topic

none Re: kernel/module.php のキャッシュが効いてないバグ

msg# 1.2
depth:
1
Previous post - Next post | Parent - Children.1 | Posted on 2007/3/6 16:58 | Last modified
domifara  一等兵   Posts: 19
んー、たしかに、staticの使い方がおかしいみたいです
と思ったのですが
Quote:
100%の確証が持てないのが XOOPS2 の恐ろしいところ
鋭い、
どうもphpバージョン違いとかサーバー違いの実動作の検証が必要そうです

というのが、
どこかで聞いたと覚えがあるけどと思い、
過去のトラッカーを探してみました
CVS
http://xoops.cvs.sourceforge.net/xoops/xoops2/kernel/module.php?r1=1.11.2.1&r2=1.11.2.2

たぶん xoops2.0.9からかな?
「モジュールハンドラのキャシュが効いてない」
のクレームに対して、
static を宣言することで直ったかのように書いているのですが?
なぜ、
もともとが
$this->_cachedModule_mid
で維持しようとした

だけど前はキャシュ動作が出来ていないとバグトラッカーに報告がある
phppp (#1044971)さんと、mithyt2 (#989462)さんですね

ソースを見る限り、今見ると原因は謎に思えます

今のphpマニュアルを見ると
&get

&getByDirname

でスコープの違う
static
になるので
それぞれに
&get

&getByDirname
で、別のものを見ていることになるので

(もしかして、前はスコープは?一つだった?)

staticでないと維持できないという実状があるのなら?

staticに維持するところを、別関数一つに
インスタンスの確認とセットをまとめるとか?

でも
たまたま今日そのあたりphpマニュアル見てたら
http://jp.php.net/manual/ja/language.variables.scope .別の問題ですが
phpマニュアルに
「PHP4を駆動するZend Engine 1では
static変数にリファレンスの値は保持できない」
でサーバーの違いも考慮が必要かと
(これは、いつ追加されたのかな?
Zend Engine 1では意図せぬ動きをするらしいと
書いてるから、んーそうなのでしょう)
Votes:2 Average:10.00

Posts tree

  Advanced search


Login
Username or e-mail:

Password:

Remember Me

Lost Password?

Register now!