我只想在同一个文件中的第二个类中声明一个实例变量。 以下示例代码对我来说似乎没问题,但服务器在注释行中导致错误:
例如:
<?php
class Locator {
private $location = __FILE__;
public function getLocation() {
return $this->location;
}
}
class Doc {
private $loc = new Locator(); // [SYNTAX-ERROR] unexpected T_NEW
public function locator() {
return $this->loc;
}
}
$doc = new Doc();
var_dump( $doc->locator() );
?>
非常感谢大家的帮助!
答案 0 :(得分:1)
你可以在Doc :: locator()中使用新的定位器类;
class Locator {
private $location = __FILE__;
public function getLocation() {
return $this->location;
}
}
class Doc {
public function locator() {
return new Locator(); // new locator here
}
}
$doc = new Doc();
var_dump( $doc->locator() );
?>
答案 1 :(得分:1)
您不能设置属性,因为它属于对象而不是类。您可以通过在构造函数
中创建定位器来修复它class Doc {
private $loc;
public function __construct() {
$this->loc = new Locator()
}
public function locator() {
return $this->loc;
}
}