2010-01-22 2 views
3

Propel ORM으로 Symfony (1.31)를 사용하여 웹 사이트를 구축하고 있습니다. 나는 최근에 텍스트 편집기를 사용하여 Netbeans (6.8)을 개발 환경으로 사용했다.symfony, netbeans 6.8 및 웹 페이지 디버깅

컴파일 된 언어 (C++) 배경에서 왔기 때문에 디버깅의 일부로 코드 등에서 중단 점을 설정하는 데 익숙합니다. 웹 개발 (PHP와 atleast)이 많이 발생했고, 잘 맞았습니다. 디버깅은 echo 문장을 사용하고, 파일을 로깅하는 등의 일을 말끔히합니다. PHP를 디버깅하는 것이 가능하다는 이야기를 들었습니다. 중단 점 설정 등).

웹을 통해 문서를 찾아서 중단 점을 설정하는 방법 (MVC 레이아웃 중 하나에서 말하기)을 사용하여 브라우저를 통해 관련 페이지를 열면 중단 점에 도달 할 수 있고 코드를 통해 (이상적으로는 프로그램 변수를 보면서).

symfony 및 Netbeans 6.8을 사용하면 가능합니까?.

+0

예, 가능합니다. 현재 xdebug extension (http://xdebug.org)을 설정 했습니까? – develop7

답변

1

: http://netbeans.org/kb/docs/php/debugging.html

당신이 XDebug가 구성에 대한 구체적인 질문이있는 경우 : http://wiki.netbeans.org/HowToConfigureXDebug합니다.

NetBeans의 PHP 개발에 대한 유용한 기사 : http://netbeans.org/kb/trails/php.html.

희망이 있습니다.

업데이트 : NetBeans 6.8을 설치하고 구성을 실행하여 XDebug에서 성공적으로 작동 할 수있는 중단 점을 얻을 수있었습니다. NetBeans의 Symfony와의 통합은 너무 매끄 럽습니다. +1을 통해이 문제를 확인할 수 있습니다.

+0

Cyro, Symfony, Netbeans 및 XDebug에서 작동 할 중단 점을 얻는 방법을 설명하기 위해 여기에 간단한 개요를 제공 할 수 있습니까? 또한 어떤 종류의 테스트를 실행 했습니까? 즉, 설명했던 것처럼 테스트 했습니까? 즉, 중단 점을 설정하고 페이지를 여는 것입니까?). 나는 정말로이 일을 할 수 있기를 기대하며 귀하의 답변을 기다립니다. –

+0

WAMP와 함께 PHP 5.2 용 XDebug를 설치하십시오. php.ini에 설정을 추가하고 아파치를 재시작하십시오. phpinfo()가로드되었는지 확인했습니다 ("xdebug"검색). index.php 웹 컨트롤러에 test echo 문을 추가했습니다. 내 프로젝트를 기본 프로젝트로 설정하십시오. Ctrl + F5를 눌러 디버깅을 시작합니다. NetBeans가 브라우저에서 프로젝트 URL을 시작하지만 페이지가 대기 중이고 NetBeans로 돌아가고 디버그 모드입니다. 실행을 내 중단 점으로 푸시하려면 계속 (F5)을 누릅니다. 이제 NetBeans가 저의 브레이크 포인트에 있으며 시계, 변수 및 호출 스택 탭을보고 더 많은 정보를 얻거나 제 코드를 실행할 수 있습니다. 그게 전부 야. – nortron

+0

난 그냥 특정 작업에서 중단 점을 함께 테스트하고 그것을 너무 작동합니다. 일단 디버그 모드에 있으면 작업 URL을 중단 점과 함께 방문한 다음 URL 뒤에? XDEBUG_SESSION_START = netbeans-xdebug를 추가해야하며 NetBeans가 요청 시작시이를 가져와야합니다. – nortron

0

Quanta +를 PHP와 함께 사용하는 스텝핑 디버거로 Gubed을 사용했지만 Netbeans에서 작동하도록 할 수 있는지 알 수는 없지만 그게 더 가치 있다고 생각했습니다. 나는 내가 할 수있는 것을 발견했다 (i = 0; i < ~ 6; i ++) {화면에 로그를 남기거나 로그; 변화시키다; reload;} 디버거를 사용하여 한 번 밟아 다닐 때보 다 짧은 시간에 문제를 해결할 수 있습니다.

Xdebug은 Neatbeans가 나열되지 않았지만 일부 편집자를 지원하는 remote debugger이있는 매우 유용한 PHP 확장 프로그램입니다. 필자는 Xdebug의 원격 디버깅 요소 (위 참조)를 사용하지는 않았지만 프로파일 링, 코드 범위 및 특히 브라우저 오류 메시지가 개선되었습니다.

일반적으로 Symfony를 사용하면 스택 트레이스 나 아이템을 로거에 놓은 다음 debug toolbar 또는 firesymfony 중 하나를 사용하여 필요한 것을 얻을 수 있습니다. 여기

1

내 심포니 애플리케이션을 디버깅 도움이되었습니다 무엇 :

로깅 및 애플 리케이션/APPNAME/설정/settings.yml를 통해 웹 디버그 도구 모음을 사용합니다. 참고 : 변경 사항을 적용하려면 캐시를 지워야합니다. 사전 태그

dev: 
    .settings: 
     web_debug:    true 
     logging_enabled:  true 

사용 위해 var_dump() 또는 인 print_r()는 어디에서 데이터를 덤프합니다. 이탈 추가; 컨트롤러 또는 다른 곳에서 변수를 덤프 할 수 있습니다.

echo '<pre>'; 
vardump($something); 
echo '</pre>'; 
exit; 

로깅 및 로그 메시지를 사용합니다. 당신은 어디뿐만 아니라 로거에 액세스하지만 사용자 환경에 로그인 에이블 확인 할 수 있습니다 XDebug가 지원 될 것 같다

sfContext::getInstance()->getLogger()->info($message); 
0

Netbeans 7+는 모델/동작의 xdebug 중단 점에 문제가 있습니다. 중단 점을 설정하려면 수동 기능을 사용해야합니다.

xdebug_break(); 
관련 문제