2016-10-22 1 views
4

Zend가 Ver 1에서 3으로 변경 한 아키텍처에 대해 설명해주십시오. 최근에 zend는 ZF3을 릴리스했지만 zf1에서 zf3으로 마이그레이션하는 방법에 대한 정보는 제공하지 않습니다. 응용 프로그램을 zf1에서 개발했습니다. ZF3에서 PHP 7을 사용하여 업그레이드 할 수 있습니다. 전체 코드를 다시 작성해야하거나 최신 버전으로 이동해야 할 필요가 있습니다.Zend Framework 1에서 3으로 마이그레이션 할 수있는 방법

또한 ZF3은 PHP7에서 4 배 빠르다고 주장했습니다. 실제로 ZF3가 아닌 PHP7 자체가 더 빠릅니다. 지난 몇 년 동안 최고의 프레임 워크 중 하나 인 Laravel 프레임 워크와 비교할 때 얼마나 개선되었는지 잘 모르겠습니다.

누구나 ZF3을 사용했다면 경험을 공유하십시오.

+0

감사합니다, 위/아래 투표 화살표 아래의 체크 표시를 사용하여 답변을 받아주세요! – Clay

+1

ZF3은 PHP7에서 4 배 빠르다고 주장하지 않고 ZF2보다 최대 4 배 빠르다고 주장합니다. zend-servicemanager, zend-eventmanager 및 기타 구성 요소에 속도가 많이 향상되었습니다. – xtreamwayz

답변

2

도전적인 도로 일지 모르지만 시간이 많이 걸릴 수도 있지만 가능하다고 생각합니다.

  1. 기본적으로 ZF2에서 마이그레이션 한 다음 ZF3으로 마이그레이션하십시오.

  2. 아니면 PHP7 속도 향상 만 원한다면 PHP7로 업그레이드하고 일부 버그 (일부는 아니지만)를 발견 할 수있는 약간의 린트 테스트를 수행하십시오. 더 읽기에 대한

...

마이그레이션

이 코드를의 네임 먼저

https://framework.zend.com/manual/2.1/en/migration/overview.html

  1. 도구를 ZF2합니다.
  2. Zend Framework 1 응용 프로그램에서 Zend Framework 2를 사용하기위한 도구.
  3. Zend Framework 2와 Zend Framework 1을 동시에 실행하기위한 전략.
  4. 주로 도메인 논리와 MVC 계층의 명확한 분리에 초점을 맞추어 코드를보다 쉽게 ​​마이그레이션 할 수 있도록하는 전략입니다.
  5. MVC 계층을 마이그레이션하기위한 전략.
  6. 도메인 계층을 마이그레이션하기위한 전략.

그런 다음, ZF3로 마이그레이션 : v3으로

젠드 프레임 워크 V2는 증분 업그레이드로 구성되어 있습니다. 지난 해에도 v2 버전의 구성 요소에 포워드 호환성 기능을 제공하여 사용자가 업그레이드 코드를 준비 할 수 있도록 노력했습니다.

그러나이 가이드는 포괄적 인 마이그레이션 가이드는 아닙니다. 파손이 발생할 수있는 영역의 대부분을 알고 있지만 개발자가 실제로 업데이트하는 경우에만 전체 상황을 볼 수 있습니다. 따라서이를 진행중인 작업으로 간주하고 문제를 통해 업데이트 또는 변경 사항을 제안하거나 개선 요청을 요청하십시오.

https://docs.zendframework.com/tutorials/migration/to-v3/overview/

내가 파손 상당한 양의 인해있을 수 있습니다 ZF2에 ZF에서 중요한 변화가 상상하는 것

.

하지만, 당신이 병렬로 ZF1 및 ZF2을 실행할 수 있습니다

https://framework.zend.com/manual/2.4/en/migration/zf1_zf2_parallel.html

을가 ZF1 병렬로 ZF2을 실행하는 데 절대적으로 가능하다 기술적 인 관점에서 사이 충돌이 없기 때문에 클래스 이름은 ZF2가 네임 스페이스를 사용하고 ZF1이 사용하지 않기 때문에 발생합니다. ZF1과 ZF2를 병렬로 실행하면 전체 애플리케이션을 ZF1에서 ZF2로 마이그레이션하는 것이 불가능하거나 불가능한 프로젝트에서 마이그레이션 전략으로 사용할 수 있습니다. 예를 들어 원래 ZF1 기능을 유지하면서 ZF2를 사용하여 응용 프로그램의 새로운 기능을 구현할 수 있습니다.

ZF1과 ZF3를 병렬로 실행할 수 있는지는 알 수 없지만 불가능하지는 않습니다.

아니면 나를 있었다면, 그냥 단지 PHP7 첫째로 업그레이드 시도하고 코드에서 어떤 파손에 대한 보일 수 있습니다, PHP7

으로 그것을 밖으로 시도. 당신은 Mac의 경우

find . -name "*.php" -print0 | xargs -P 8 -n 1 -0 sh -c '/usr/local/Cellar/php70/7.0.0/bin/php -l $0 || true' | grep -v 'No syntax' 

당신이 양조로를 설치하여 PHP 버전 스위처를 사용할 수 있습니다

당신은 PHP7에 대하여 당신의 PHP 코드를 테스트 보풀에 다음과 유사한를 실행할 수 있습니다.

brew install brew-php-switcher 

당신은 당신의 httpd.conf 파일에서이 라인을 주석 처리해야 할 수도 있습니다 : 다음

#LoadModule php5_module libexec/apache2/libphp5.so 

:

brew install php71 

이 당신을 httpd.conf에 다음 행을 추가

<FilesMatch .php$> 
    SetHandler application/x-httpd-php 
</FilesMatch> 

스위치 버전 :

brew-php-switcher 71 
+1

ZF1을 ZF2로, ZF3에서 ZF3로 옮기기 위해 노력했습니다. ZF1에서 ZF3으로의 마이그레이션은 거의 새로운 응용 프로그램 작성과 거의 동일하며 ZF2에도 동일하게 적용됩니다. v3으로 직접 이동하는 것이 더 빠를 수도 있습니다. – Dheeraj

+0

물론입니다. 적어도 Zf1을 병렬로 실행할 수 있도록 Zf2 로의 최소 마이그레이션을 시도하십시오. 그런 다음이를 zf3으로 마이그레이션하면 zf1을 병렬로 계속 실행하고 zf1 부분을 점진적으로 마이그레이션 할 수 있습니다. 프로젝트가 얼마나 큰가요? zf3으로 완벽하게 마이그레이션하려면 많은 코드를 다시 작성해야합니다. – Clay

3

대규모 응용 프로그램을 다루는 경우 ZF3으로 빠르고 쉽게 마이그레이션 할 수 없습니다. 라우팅에서부터 서비스에 이르기까지 젠드 프레임 워크 2/3 아래에있는 실용적이고 이론적 인 프레임 워크는 첫 번째 반복과 상당히 반대입니다.

ZF2가 처음 출시되면 매우 큰 프로젝트에서 ZF1에서 ZF2 로의 마이그레이션 (ZF2에서 ZF3으로의 마이그레이션)을 완료했습니다. 점진적 접근 방식을 사용하여 결국 ZF1 핵심 라이브러리 (즉, 여러 Zend 클래스를 수정)에서 약간의 편차가 필요하게되었습니다. 이는 우리에게 매우 효과적이었습니다. ZF1이 EOL을 9 월에 치렀으므로 더 이상 버그 수정이나 업데이트가 없으므로 심각한 문제가되지 않습니다.

아래에 나열된 게시물에는이 마이그레이션을 완료 할 수있는 단계에 대한 설명과 ZF1/ZF2를 부분적으로 연결하는 일부 코드에 대한 링크가 나와 있습니다. ZF2 및 ZF3의 변경으로 인해 이전 버전과의 호환성 문제가 너무 많이 발생하지 않았으므로이 게시물에서 설명한 단계는 ZF1에서 ZF3으로의 마이그레이션에 여전히 적용될 수 있습니다.

Step by step migration from Zend Framework 1 to 2

다음은 도움이 될 수있는 두 개 더 링크입니다. 첫 번째 링크는 Zend가 제공 한 ZF1-ZF2 마이그레이션 가이드입니다. 두 번째 링크는 젠드 프레임 워크의 일반적인 문서입니다. 구성 요소가 버전 3.0 (예 : zend-mvc, zend-servicemanager 등)으로 업데이트 된 경우 ZF2/3간에 변경된 사항을 알려주는 마이그레이션 가이드가 있어야합니다. ZF2 마이그레이션

+0

v3 페이지에 마이그레이션을 추가 할 수 있습니다. https://docs.zendframework.com/tutorials/migration/to-v3/overview/ – xtreamwayz

관련 문제