更新:
我在下面放置的代码将被其他网页上的表单调用。所以这就是为什么我没有创建一个 obj 的实例。
更详细的代码:
$serverloc='serverURL';
class Aclass{
function push(){
global $serverloc;
echo $serverloc;
funNotinClass();
}
function otherFunction(){
echo $serverloc;
}
}
funNotinClass(){
echo $serverloc;
}
有一个类包含 2 个函数“push()”和“otherFunction()”,并且有一个独立的函数“funNotinClass()”和 push() 调用它。该类用于其他页面中的 Web 表单。当用户单击提交表单时,调用该类并使用 push() 函数。我发现一个奇怪的事情是全局变量 $serverloc 对 push() 和 funNotinClass() 是不可见的(它们不会打印出任何东西),但是 otherFuction() 是一个类似于 Aclass 内部的 puch() 的函数可以只使用 $serverloc(我什至没有在它前面添加全局)。多么奇怪……有人知道这是什么原因造成的吗?
++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++
我阅读了许多关于 php 中全局变量范围的信息。他们都说全局变量是在函数或类之外定义的,您可以使用 global this 关键字来使用它。
所以这是我的代码
$serverloc='serverURL';
class Aclass{
function Afunction(){
global $serverloc;
echo $serverloc;
}
}
但是当我运行这个类时,它没有打印出任何东西。那是因为我做错了什么还是全局变量不能以这种方式工作。由于我之前阅读的所有示例都只是直接访问函数中的全局变量,而不是类中的函数