Drupalで定義された関数がグローバルにアクセスできないのはなぜですか?

drupal drupal-6 php
Drupalで定義された関数がグローバルにアクセスできないのはなぜですか?

シナリオ:PHP 5.2.14のDrupal 6.20でカスタムブロックを定義しました。 PHPコードを有効にし、次のようなことをしようとしています。

変数$ aをスコープできないように見えるので、システムに何も表示されません。 また、$ GLOBALS [‘a’]を試してみました。 何ができる? 私は夢中になるような気がします。

ちなみに、外側のスコープでglobalキーワードを使用すると、drupalのグローバルを使用できるようになります。

  1  0


ベストアンサー

私はDrupalにあまり精通していませんが、ブロックはどこか他の関数/メソッド内に含まれていると推測しているので、その外側の関数のローカルスコープに含まれる入れ子関数を効果的に処理しています。

これにより、 `$ a =” success “`を `test()`関数内からアドレスできないことは理にかなっています。

私が正しいなら、_both_スコープで `global`キーワードを平手打ちしても機能するはずです。

1


タイトルとURLをコピーしました