2013-04-09 4 views
1

우분투 + PHP 5.4을 실행하고 같은 오류가있어 해요 :엄격한 기준 : 비 정적 메서드

Strict Standards: Non-static method XTemplate::I() should not be called statically, assuming $this from incompatible context in ... on line 339

그리고 그 방법은 다음과 같습니다

interface ITemplate 
{ 
    public function I(); 
} 

class XTemplate implements ITemplate 
{ 
    public function I() 
    { 
      ... 
    } 
} 

을 그리고이 코드가 정상 실행 Windows 7 XAMPP에서. error_reporing을 해제하는 조언 만 찾았지만 해결해야합니다. php.ini의 다른 설정을 켜기 위해 일부 모듈을 설치해야합니까?

+0

함수 I()를 어떻게 호출합니까? – 1615903

+0

나는 그것을 이렇게 부른다 : XTemplate :: I() -> makeTemplate (...); – Peter

답변

4

XTemplate 클래스의 인스턴스를 만드는 대신 함수를 정적으로 호출하기 때문에 오류 메시지가 나타납니다.

static public function I() 
    { 
      ... 
    } 

또는 첫번째 XTemplate의 인스턴스 생성 : 상황에 따라, 하나는 함수가 정적하게

$myXtemplate = new XTemplate(); 
$myXtemplate->I(); 

나는이 질문에 대한 답변이 되었기를 바랍니다합니다.

편집 : This page이 흥미로울 수 있습니다.

내가 같은 오류가 발생했다
-1

, 당신이 필요로하는 모든 인터페이스의 변화 : public function I(); 변화 public static function I();로는 당신이 만들 때 인스턴스가 나는이 도움말을 희망

public static function I(); 

를 사용합니다.

관련 문제