带有预定义值的php类错误?

时间:2011-02-26 18:39:24

标签: php class

在我的PHP文件中,我创建了一个类,如下所示,但我在第3行和第5行遇到错误。

class CommonPath{
    var $baseurl = 'http://mysite.com/';
    var $docroot = realpath(dirname(__FILE__));
    var $root = '/';
    var $images = $this->root.'/img';           
}

我的Dreamwaver CS5将这些行(第3和第5行)显示为错误的行,并且在执行此代码时出现以下错误。

Parse error: parse error, expecting `','' or `';'' in D:\wamp\www\site\libs\CommonPath.php on line 3

4 个答案:

答案 0 :(得分:7)

您只能将文字和常量作为默认值。不允许使用任何函数或其他表达式。

答案 1 :(得分:5)

有两个不同的错误。首先,您不能使用函数来定义类变量(第3行)。而且,$this在第5行没有意义,因为你还没有任何对象。

答案 2 :(得分:4)

当您声明成员属性时,无法像这样分配值。在构造函数

中分配它
class CommonPath{
    var $baseurl = 'http://mysite.com/';
    var $docroot = '';
    var $root = '/';
    var $images = '';

    function __construct() {
        $this->docroot  = realpath(dirname(__FILE__));;
        $this->images = $this->root.'/img';
    }
}

答案 3 :(得分:1)

在声明类变量时,你不能concat字符串并将任何值赋给需要调用任何函数的变量。