2010-07-16 1 views
2

PHP 개발을 위해 PHPClipse를 사용합니다. 그것은 코드 강조 표시와 ';' 등의 성명 또는 '}'망각의 말에 나는이 같은 일이 조건문에서 일어날 때 코드에서 $this->test = 6;PHP strict code validation

을 했어야

class foo { 
    private $test; 

    function __construct() { 
     $test = new stdClass; 
     $test->myVar = "hello"; 
    } 

    function getTest() { 
     echo $this->test->myVar; 
    } 
} 

예를 들어, 실수를 쉽게 찾을 수 있습니다 if else과 같이 클라이언트가 소프트웨어를 전달한 후인 else 문이 실행될 때만 알 수 있습니다.

추상 클래스의 함수가 구현되지 않은 경우 다른 예제에서 경고를 표시 할 수 있습니다.

특히 Eclipse에서 STRICT 유효성 검사를 사용할 수있는 방법이 있습니까? 조금 의심 스러울 수있는 사항을 강조 표시 할 수 있습니까?

+0

...는 PHP 개발 툴 프로젝트 http://www.eclipse.org/pdt/

하지만 의심스러운 코드 없음 확인란을 사용할 수 아무것도 비슷한이 있는지 확실하지 않다, 거기이다 위의 코드에서 오류가 발생 했습니까? – Znarkus

+0

오류가 없습니다. 문제는 $ test 변수가 클래스 변수를 사용하려는 함수의 로컬 변수입니다. PHP에서 이런 실수를하는 것은 쉽습니다. 개체를 사용하여 좀 더 명확하게 질문을 업데이트했습니다. – jax

답변

1

당신이 http://www.phpeclipse.com/에서 PHPEclipse 버전을 사용하는 경우는 아래의 일부 코드 분석 옵션이 있어야합니다.

는 내가 이해가 확실하지 않다

+0

http://www.eclipse.org/에서 PHPEclipse를 사용하고 있습니다. 당신이 말하는이 메뉴를 찾을 수 없습니다. Window-> Preferences-> PHP-> editor-> code Assist가 있습니다. 그러나 그것은 모두이며 당신이 언급 한 경고가 없습니다. 이 버전이 다른가요? – jax

+0

지금 설치하고 있습니다. 이것과 PHP PDT의 차이점은 무엇입니까? – jax

+0

늦은 경고,하지만 그들은 함께 잘 작동한다고 생각하지 않습니다, 그래서 당신은 신선한 일식 설치에 설치할 수 있습니다 ... –

0

오브젝트 var 대신 로컬 var을 사용할 때의 경고는 에디터에서 예상해서는 안되는 프로그래밍입니다.

Zend Studio은 코드에 대한 철저한 분석을합니다. 예를 들어 특정 방법을 구현하는 것을 잊었을 때 경고합니다. 당신은 초기화되지 않은 변수와 연결할 수없는 코드에 대한 경고를 선택할 수 있습니다 - "> 스타일 환경 설정/PHPeclipse/PHP/PHP 파서"

+0

잘못된 프로그래밍은 큰 함수를 작성하거나 느린 알고리즘을 작성하거나 이해하기 어려운 코드를 작성하는 것입니다. 특정 프로그래밍 언어의 기발한 동작은 디자이너가 아닌 사용자의 잘못입니다. 로컬, 글로벌 및 클래스 멤버 간의 구별이 조금 흐릿 해 짐에 따라 PHP가 '나쁘다'는 것은 틀림 없습니다. – jax

+0

'나쁜 프로그래밍'이라는 말은 아마도 최고가 아닐 것입니다. 필자가 말하고자하는 것은 단지 프로그래머의 실수이며 파서가이를 감지 할 수 없다는 것입니다. PHP가 로컬과 객체 범위를 구분하기 때문에 PHP가 좋지 않다고 말하는 것은 이상한 일입니다. –