【发布时间】:2012-01-19 06:41:24
【问题描述】:
我有以下脚本
myclass.php
<?php
$myarray = array('firstval','secondval');
class littleclass {
private $myvalue;
public function __construct() {
$myvalue = "INIT!";
}
public function setvalue() {
$myvalue = $myarray[0]; //ERROR: $myarray does not exist inside the class
}
}
?>
有没有办法通过简单的声明使 $myarray 在 littleclass 中可用?如果可能的话,我不想将它作为参数传递给构造函数。
另外,我希望您实际上可以以某种方式使全局变量对 php 类可见,但这是我第一次遇到这个问题,所以我真的不知道。
【问题讨论】:
-
为什么?这与常识相差 180 度。您是否阅读过文档?
-
警告:使用全局变量会很快将您的代码变成无法维护的混乱。考虑将其作为参数传递给构造函数或
setvalue(),以您的应用程序中符合逻辑的为准。 -
我没有“阅读文档”,因为我什至不知道要查找什么。感谢您提出“为何选择全球”的建议。
-
我同意@TomalakGeret'kal:你做错了!
-
感谢 bazmegakapa 的解决方法
标签: php class variables scope global