我有一个问题,在类中的一个函数中需要一个类属性。如果它是uncleat它看起来有点像:
class Foo {
public $var;
public function test() {
function inside() {
//Need $this->var here but getting a "not in object context" error
}
}
}
我也尝试过这种方式,但$ var似乎是空的
class Foo{
public $var;
public function test() {
$var = $this->var;
function inside() {
global $var;
//but here, $var=null
}
}
}
所以如果你有任何想法......谢谢 (这是我的代码:)
public function XML($input) {
$dt= ($this->datatype) ? $this->datatype : "row";
function aToXML($data, &$xmlData) {
global $dt;
foreach($data as $key => $value) {
if (is_numeric($key)){
//here
$key = $dt.strval(intval($key)+1);
}
if (is_array($value)) {
$subnode = $xmlData->addChild($key);
aToXML($value, $subnode);
}
else {
$xmlData->addChild("$key",htmlspecialchars("$value"));
}
}
}
if ($this->returnFromArray) {
$xml=simplexml_load_string("<?xml version=\"1.0\" encoding=\"UTF-8\"?><data></data>");
aToXML($input, $xml);
return $xml->asXML();
}
else {
return ($input) ? "<?xml version=\"1.0\" encoding=\"UTF-8\"?><success />" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?><failure />";
}
return $xml->asXML();
}
答案 0 :(得分:0)
请不要。但如果你真的需要一个外部价值,也可以试试这个。
class TheClassThatNeedExternalValue
{
private $externalValue = null;
public function injectExternalValue($externalValue)
{
$this->externalValue = $externalValue;
}
...
}
全球是邪恶的!!!