我是PHP新手,但对编程非常有经验。查看属性上的PHP网站页面:http://www.php.net/manual/en/language.oop5.properties.php我看到了这个例子。
<?php
class SimpleClass
{
// invalid property declarations:
public $var1 = 'hello ' . 'world';
public $var2 = <<<EOD
hello world
EOD;
public $var3 = 1+2;
public $var4 = self::myStaticMethod();
public $var5 = $myVar;
// valid property declarations:
public $var6 = myConstant;
public $var7 = array(true, false);
// This is allowed only in PHP 5.3.0 and later.
public $var8 = <<<'EOD'
hello world
EOD;
}
?>
运行此示例将返回错误:PHP Parse错误:语法错误,意外'。',期待','或';'在第5行的test.php中
事实上,SimpleClass的php.net示例包含所有类型的属性赋值,这些属性赋值不是直接的文字,所有这些都会引起错误; phpinfo()表示版本是PHP Version 5.2.4。
这是与PHP版本相关的问题吗?
答案 0 :(得分:1)
你引用的例子是:
//无效的属性声明:
在不起作用的线上方。似乎很容易理解。
页面下方几行:
与heredocs不同,nowdocs可用于任何静态数据上下文, 包括财产声明。
示例#2:使用nowdoc初始化属性的示例
<?php class foo { // As of PHP 5.3.0 public $bar = <<<'EOT' bar EOT; } ?>