我有以下的PHP,它给了我一个:
解析错误:语法错误,第77行/var/www/html/blog/index.php中意外的'$ author'(T_VARIABLE)
>nuget
NuGet Version: 3.4.4.1321
我尝试将引用的行注释为快速“修复”,但随后错误就会移动。
使用
// public $ author_url ='/ user /'。 $作者;
我明白了:
解析错误:语法错误,意外的'$ post_boilerplate'(T_VARIABLE),期待第79行/var/www/html/blog/index.php中的函数(T_FUNCTION)
注释出HEREDOC也有“帮助”,因为包含的页面生成了,显然虽然有关于缺少变量声明的错误,但显然这实际上并不是解决方案。
任何人都可以解释出错的原因吗?
答案 0 :(得分:1)
您无法以这种方式初始化类变量。
一种方法是定义常量
define('AUTHOR',$author);
//...
public $author_url = '/user/'. AUTHOR;
更好的方法是初始化构造函数中的值。
function __construct() {
$this->post_boilerplate = "
<div class='blog-post'>
<h2 class='blog-post-title'> ".$this->title."</h2>
<p class='blog-post-meta'>".$this->timestamp." by <a href='".$this->author_url."'>".$this->author."</a></p>
<p>Blah, blah, blah...</p>
</div><!-- /.blog-post -->
";
}