首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHP 5.2.17在另一个类中声明实例变量

使用PHP 5.2.17在另一个类中声明实例变量
EN

Stack Overflow用户
提问于 2013-07-04 15:45:02
回答 2查看 1.6K关注 0票数 0

我只想在同一个文件的第二个类中声明一个实例变量。下面的示例代码对我来说似乎没问题,但服务器在注释行显示了一个错误:

例如:

代码语言:javascript
复制
<?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() );

?>

非常感谢大家的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-04 16:17:36

您可以在Doc::locator ()中新建定位器类;

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2013-07-04 16:27:03

无法设置属性,因为它属于对象,而不是类。您可以通过在构造函数中创建定位器来修复它

代码语言:javascript
复制
class Doc {
    private $loc;

    public function __construct() {
        $this->loc = new Locator()
    }
    public function locator() {
        return $this->loc;
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17464569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档