2016-09-29 2 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

PHP 5.6 이전에는 기본값에 대한 표현식을 사용할 수 없습니다. 사용할 수 있습니다

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; 성공하지 못한 2 번째 제안. 나는 내 폴더/... -path를 사용해야한다. –