<?php
class SimpleClass{
// 错误的属性声明
public $var1 = 'hello ' . 'world';
public $var2 = <<<EOD
hello world
EOD;
public $var3 = 1+2;
public $var4 = self::myStaticMethod();
public $var5 = $myVar;
// 正确的属性声明
public $var6 = myConstant;
public $var7 = array(true, false);
//在php 5.3.0 及之后,下面的声明也正确
public $var8 = <<<'EOD'
hello world
EOD;
}
?>
很多PHP教程中都会有这样的一段示例代码,我发现其中错误的属性声明中的语句也可以正确执行(如下所示),这是什么意思呢?
class SimpleClass{
public $var1 = 'hello world';
public $var2 = 'hello '.'world';
public $var3 = 1+2;
}
$sc = new SimpleClass();
echo $sc->var1.PHP_EOL;
echo $sc->var2.PHP_EOL;
echo $sc->var3.PHP_EOL;
执行结果