2016-09-29 113 views
0

在Silverstripe 3.4我得到一個錯誤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 

請解釋爲什麼這個錯誤發生/我做錯了什麼。

回答

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,尤其是沒有早期版本支持更多。

+0

嗨!使用PHP 5.6的同樣的錯誤。和7.0;第二個建議沒有成功。我必須使用我的文件夾/ ...路徑。 –