57 :
moca :
2007/07/24 05:08:38 ID:TyvFhC7O7
>tkfmさんへ
わざわざ確認ありがとうございます。m(__)m
Lolipopで結果が同じとなると、おそらく手順的には私の方と
大差ない様ですね。
となると一番疑わないといけないのはXREAとLolipopのPHP+My
SQL+Apache辺りの動作環境(バージョン)の差でしょうか。
たしかに=&の書き換えを行うとLolipopではwp単体としての動
作も出来なく成ります。まだ時間がなくてWP自体のソースに
手を出していないので何がどうなってるかまでは判らないの
ですが、ここまでで判った内容からすると、XREAでWPがその
まま動く理由はおそらくPHP5を使用しているためでしょう。
PHP4では $hoge = $poge; では$pogeの中にある値が$hogeに
コピーされており、$hoge =& $poge;とする事で、$hogeの実
態が$pogeと同じになる"参照渡し"となっていました。変わっ
てPHP5では $hoge = $poge でも $hoge =& $poge でも参照渡
しの動きに成るようです。
ちなみにPHP3ではそもそも参照渡しが=演算子では出来ない仕様みたいです。
この違いのおかげで、XREAではおそらく=&でも=でも変わり無
く本来のWPのURLでアクセスして通常通り動くという事みたい
ですね。逆にLolipopはPHP4のみ対応なので=&から=に変わる
事でグローバル変数の反映の範囲が変わってしまい、動作し
なくなるんだと思います。
と、、、ここまでは分かったんですが、ここから先はWPそ
のものの動きとIntegratorの動きの絡みの具体的な部分がす
こし見えないと判らなさそうですね^^;
Integratorのソースだけ見てもなんとなく"どのページにいる
かを示す"グローバル変数の値をMODxの受けたURLから取った
値で無理やり埋めて、WPの関数に思ったページを吐かせるん
だろうなーとか、参照代入をやめさせてるのは多分いらない
ところから上書きされないようにするんだろうなーとか。
それくらいの想像しか出来ないですしね・・・
肝心の「なに」を「どうしてる」かまでは分からずじまいw
逆に上の理由で=&を=に書き直してるということはPHP5では
それだけじゃ思ったように動作しないようなきもするし・・・
あれ????w
ちょっとPHPのお勉強がてらソースを追っかけて見ます・・・