PHP 5.3이 릴리스 후보 단계 (woo!)에 도달했음을 알았지 만, 이미 제거 된 이미 사용되지 않는 함수의 목록을보고 나면 내 오래된 코드를 깨뜨릴거야.최신 버전의 PHP로 마이그레이션
테스트 서버 (테스트 서버에 설치하여 시험해보기)를 수행하는 것만 큼, 문제를 강조하기 위해 코드를 분석 할 수있는 마이그레이션 도구가 있습니까? 예를 들어 일부 스크립트에서 ereg_*
기능을 사용하는 경우
PHP 5.3이 릴리스 후보 단계 (woo!)에 도달했음을 알았지 만, 이미 제거 된 이미 사용되지 않는 함수의 목록을보고 나면 내 오래된 코드를 깨뜨릴거야.최신 버전의 PHP로 마이그레이션
테스트 서버 (테스트 서버에 설치하여 시험해보기)를 수행하는 것만 큼, 문제를 강조하기 위해 코드를 분석 할 수있는 마이그레이션 도구가 있습니까? 예를 들어 일부 스크립트에서 ereg_*
기능을 사용하는 경우
사용할 수있는 기술 중 하나는 제거되고 사용되지 않는 기능의 목록을 가져와 grep하는 것입니다. 작은 쉘 스크립트 fu는 이와 같은 것들을 위해 먼 길을 간다.
의 당신이 사용되지 않는 함수 이름 한 줄에 하나의 파일 deprecated.txt 있다고 가정하자
for func in `cat deprecated.txt`
do
grep -R $func /path/to/src
done
당신이 사용하고 사용되지 않는 기능의 모든 인스턴스를 말할 것이다.
루프에서 grep을 사용하는 것보다는 egrep -R '(dep_func_1 | dep_func_2 | etc ...)'/ path/to/src와 같은 명령문을 작성하는 것이 더 효율적일 것입니다. 또 다른 옵션은 호출 된 함수의 이름을 포함하는 xdebug 추적 파일 - 그러나 100 % 코드 적용 범위를 얻는 것은 어려울 것입니다. –
물론 더 효율적일 것입니다. 그러나 읽기 쉬운 셸을 작성하는 것이 조금 어렵습니다. 파일에서 dep_func_1, dep_func_2 등을 읽고 grep을 수행하는 스크립트. 나는 가독성을 높이기 위해서가 아니라 속도를 높이기 위해 그것을했다. :-피 – Benson
현재 실행중인 버전은 무엇입니까? – cletus
5.2.4, 그건 중요하지 않지만? – nickf
글쎄, 5.1 -> 5.3에서 5.2 -> 5.3으로 이동하면 거기에 없을 경우 문제를 생각할 수 있습니다. coruse의 최신 버전과 새 버전이 모두 적합합니다. – cletus