トップに戻る 掲示板に戻る
MODx関連
1 : uglydog◆99LvjsCqN26 : 2006/10/31 01:17:26 ID:oHr25k3E
MODx( http://modxcms.com/ )の話題。
拙作のSnippetsに関する質問もどうぞ。
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のお勉強がてらソースを追っかけて見ます・・・

スレッドを表示 全部

レス投稿

名前: メール:
内容: