如何在drupal中进行全局工作

时间:2013-06-27 07:34:52

标签: php drupal global

此代码段作为普通的php网页运行时按预期工作。

<?php
  $foo = 123;

function whatever ()
{
  global $foo;
  echo "FOO = $foo<br/>";
}

whatever ();
?>

输出

FOO = 123

但是在drupal基本页面中输入完全相同的代码会产生此输出

FOO = 

PHP显然有效,但全局变量没有。 我是drupal的菜鸟,但我知道php。我搜索了这个问题,但没有发现任何相关内容。

为什么它不能在drupal中工作? 我如何使其工作? 请不要回答,你不应该使用全球!

1 个答案:

答案 0 :(得分:1)

进一步的实验表明,这个代码在Drupal php页面中有效。

<?php
  global $foo;  // This trick makes it work
  $foo = 123;

function whatever ()
{
  global $foo;
  echo "FOO = $foo<br/>";
}
whatever ();
?>

不应该需要第一个“全球”声明,但似乎可以使其发挥作用。同时将前两行改为

$GLOBAL ["foo"] = 123;

正在运作。

希望这会有所帮助。