我希望以这样的方式访问我的一些变量:
System->Config->URL
在本例中,'System'是我的核心类,'Config'是一个数组,'URL'是数组中的一个项目。这是我的'system.php'代码:
<?php
abstract class System {
public $Config;
public function __construct() {
$this->Config = (object) array('URL' => 'localhost');
}
}
echo System->Config->URL;
?>
当我运行上面的代码时,我只看到这个:
Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR), expecting ',' or ';'
指出我的echo
行。
现在,如果我消除抽象的想法,并使用这个,这非常有用!
<?php
class System {
public $Config;
public function __construct() {
$this->Config = (object) array('URL' => 'localhost');
}
}
$System = new System();
echo $System->Config->URL;
?>
我还试图混淆static
和abstract
关键字,但这也没有用。我甚至放弃了__construct
函数并创建了一个名为'Ready'的常规方法,但在定义类abstract
时仍无法调用它。
有谁知道这里有什么问题?我已经看到类似的代码非常有效。
任何帮助或想法都会受到高度赞赏!
答案 0 :(得分:4)
查看“抽象”类的定义。这是一个无法实例化的类。只有继承它的类才能被实例化。
答案 1 :(得分:2)
我不确定你要做什么。第二个例子有效,因为它是正确的。抽象类是您需要扩展的类,然后您可以像在工作示例中一样实例化该(子)类。
您可能需要阅读“抽象”的内容。