在Silverstripe 3.4中我收到错误
'Parse error: syntax error, unexpected '.', expecting ',' or ';' in /Applications/MAMP/htdocs/Silverstripe/myModule/code/Page.php on line 10'
_config.php:
define('THIS_MODULE_DIR', basename(dirname(__FILE__)));
page.php文件:
public static $icon = THIS_MODULE_DIR.'/img/contact-file.gif'; // line 10
请解释为什么会出现这种错误/我做错了什么。
答案 0 :(得分:1)
5.6之前的PHP不允许使用默认值的表达式。你可以用
public static $icon = 'my-folder/img/contact-file.gif';
但这要求文件夹具有特定名称。
您也可以在同一个文件中设置值,但在减速后
<?php
class Foo {
public static $icon;
}
Foo::$icon = THIS_MODULE_DIR.'/img/contact-file.gif';
最好的选择是升级到至少PHP 5.6,特别是不再支持早期版本。