2011-05-16 3 views
1

나는 고대 젠드 프레임 워크 버전 0.6과 PHP 5.1.6에서 'MJS_Controller_PathRouter'를 사용하고 있습니다. 예를 들어 내가 최신 PHP 버전에서 실행할 때. 5.2.x 또는 5.3.x,이 오류를 던지고있다 :젠드 프레임 워크 업그레이드 어드 바이스

Declaration of MJS_Controller_Router_PathRoute::__construct() must be compatible with that of Zend_Controller_Router_Route_Interface::__construct() in /opt/ezxwebadmin-versions/ezxwebadmin_2.11.5/Library/MJS/Controller/Router/PathRoute.php on line 34

나는이 향상된 재 작성 라우터를 제거하고 새로운 젠드 프레임 워크 버전을 사용하는 우리의 응용 프로그램을 업그레이드하고 싶습니다. 우리의 웹 애플리케이션은 Zend에서 제공하는 클래스를 사용하지 않으며, MVC 아키텍처 만 사용하고 Zend 프레임 워크의 기능을 다시 작성합니다.

젠드 프레임 워크 버전이 우리에게 업그레이드하는 것이 가장 좋을 것이라고 조언 할 수 있습니까?

+0

항상 최신 버전입니다. 그것이 유일한 버그이며 보안 픽스가 모두 포함되어 있습니다. – KingCrunch

+0

MVC 부품 만 사용하는 경우, 내가 제공 할 수있는 가장 좋은 조언은 그 부품을 제거하고 더 간단하고 테스트 가능한 것으로 이동하는 것입니다. – Gordon

+0

예. 나는 또한 최신 버전으로가는 것에 대해 생각하고 있었다. 그러나이 웹 응용 프로그램을 이미 배포 한 서버에서 PHP 5.1.6을 사용하고 있기 때문에 PHP 5.1.6에서 5.3.x로 업그레이드하지 않고도 해당 서버에서 웹 응용 프로그램을 업그레이드 할 수 있습니까? –

답변

1

오류는 실제로 PHP의 엄격한 코딩 표준 오류이며 매우 쉽게 수정해야합니다. Zend_Controller_Router_Route_InterfaceMJS_Controller_Router_PathRoute을 열고 __construct 메서드의 매개 변수를 비교하면됩니다. 그것들은 동일 할 필요가 있기 때문에 클래스를 인터페이스의 매개 변수와 일치하도록 변경하십시오.

Zend Framework에는 PHP 5.2.4가 필요합니다. ZF2에는 PHP 5.3 이상이 필요합니다. PHP 5.1.6은 거의 5 살이므로 업그레이드 (또는 계획)해야합니다. 정말로 고대 PHP 패키지가있는 CentOS와 같은 것을 사용한다면 Zend Server 커뮤니티 에디션 (무료)으로 전환하는 것이 좋습니다. 이것은 Yum과 함께 설치 될 수 있으며 더 최신의 PHP 버전을 제공합니다.

+0

+1 PHP 업그레이드 권장. – KingCrunch

+0

조언 해 주셔서 감사합니다. 우선,이'MJS_Controller_Router_PathRoute'을 수정하고 그것이'Zend_Controller_Router_Route_Interface'와 호환되는지 확인했습니다. 또한 5.1.6에서 PHP를 5.2.x/5.3.x로 업그레이드하는 것에 동의했습니다. –

0

그런 다음 Zend Framework Download Archives 통해보고 0.8

에서 시작 Zend Framework Migration Notes를 자세히 살펴보고 버전하여 프레임 워크의 버전을 업그레이드해야 작동하는 버전에 도착하거나 (마이그레이션 노트에 나열된 버전에 따라) PHP가 있거나 (이상적으로) 최신 버전 인 1.11.x

+0

마이그레이션 노트를 확인했는데 성공했습니다. 나를 가리켜 주셔서 고마워요. –