2016-11-16 3 views
1

Symfony 2.7을 Symfony 3.0 또는 3.1로 업그레이드하려고합니다. 프로젝트에서 propel, propel-bundle을 사용하고 있습니다. Symfony 업그레이드 단계에 대한 많은 문서를 읽었습니다. 작곡가를 통해하십시오. fisrt에서 작곡가를 업그레이드했습니다. compser.json 파일 내용 변경 :propel 번들로 Symfony 2.7에서 3.0 (3.1)으로 업그레이드

{ 
    "name": "symfony/framework-standard-edition", 
    "license": "MIT", 
    "type": "project", 
    "description": "The \"Symfony Standard Edition\" distribution", 
    "autoload": { 
     "psr-4": { 
      "": "src/", 
      "SymfonyStandard\\": "app/SymfonyStandard/" 
     }, 
     "files": [ "vendor/propel/propel-bundle/PropelBundle.php" ] 
    }, 
    "require": { 
     "symfony/symfony": "3.1.*", 
     "php": ">=5.6.11", 
     "doctrine/orm": "^2.5", 
     "doctrine/doctrine-bundle": "^1.6", 
     "symfony/swiftmailer-bundle": "^2.3", 
     "symfony/monolog-bundle": "^2.8", 
     "sensio/distribution-bundle": "^5.0", 
     "sensio/framework-extra-bundle": "^3.0.2", 
     "sensio/generator-bundle": "^3.0", 
     "incenteev/composer-parameter-handler": "^2.0", 

     "twig/extensions": "1.4.*,>=1.4", 
     "symfony/assetic-bundle": "2.8.*,>=2.8", 
     "propel/propel": "2.0.0-alpha6", 
     "propel/propel-bundle": " 3.0.x-dev", 
     "phpunit/phpunit": "5.6.*,>=5.6", 
     "liuggio/excelbundle": "2.1.*,>=2.1" 
    }, 
    "scripts": { 
     "post-install-cmd": [ 
      "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::removeSymfonyStandardFiles", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget" 
     ], 
     "post-update-cmd": [ 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::removeSymfonyStandardFiles", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget" 
     ] 
    },  
    "config": { 
     "bin-dir": "bin" 
    }, 
    "extra": { 
     "symfony-app-dir": "app", 
     "symfony-bin-dir": "bin", 
     "symfony-var-dir": "var",  
     "symfony-web-dir": "web", 
     "symfony-assets-install": "relative", 
     "incenteev-parameters": { 
      "file": "app/config/parameters.yml" 
     }, 
     "branch-alias": { 
      "dev-master": "3.0-dev" 
     } 
    } 
} 

을 ... 및 I/proepl-번들/PropelBundle() 클래스가 발견되지 그러나 경로가 맞다 추진 업그레이드 프로세스의 끝을 얻었다.

아무도 그것에 대해 경험이 없습니까? 또는 조언이 있습니까? 내가 잘 할 수있는 발견 느릅 나무 propelBundle 버전으로 노력하고 ...

감사

+1

KNPLabs의 유용한 연습이 제공됩니다. http://knpuniversity.com/screencast/symfony3-upgrade 구독을하지 못했을지라도 모든 스크린 캐스트는 동영상 바로 아래에 여전히 텍스트로 제공됩니다. – pavlovich

+0

탁신 파블로 비치! 나는 즉시 점검한다! – aBanhidy

+1

내가 한 것은 신선한 Symfony 3x 프로젝트를 설치 한 다음 작곡가를 사용하여 타사 제품을 추가하는 것이 었습니다. 대부분의 경우 적절한 종속성이로드됩니다. 그런 다음 레거시 코드를 새 프로젝트에 병합하거나 composer.json을 기존 프로젝트에 복사하고 공급 업체를 삭제 한 다음 다시 설치합니다. – Cerad

답변

0

마지막에 적합한 솔루션입니다 /이었다 : 당신은 여기에서 PropelBundle 소스 코드를 다운로드 할 수 있습니다 : https://github.com/propelorm/PropelBundle

... 그러나이 페이지에서 저자는 Symfony2 용 Bundle을 작성합니다. Symfony 3.0 또는 3.1에서 작동합니다. 내가 한 것 : 내 컴퓨터에 어딘가에서 소스 코드를 다운로드하십시오. Symfony/vendor/propel/propel/src/Propel 폴더로 이동하십시오. 새 폴더를 생성하십시오 : 번들 및 다운로드 된 PropelBundle 폴더를 여기에 복사하십시오. 물론 나는 작곡가와 Propel2를 설치하기 전에 : 후

"propel/propel": "[email protected]" 

내가했던 것만 다음 AppKernel.php 편집 :

public function registerBundles() { 
     $bundles = array(
      ... 
      new Propel\Bundle\PropelBundle\PropelBundle(), 
      ... 
     ); 

     if (in_array($this->getEnvironment(), array('dev', 'test'))) { 
      ... 
     } 

     return $bundles; 
    } 

새로운 propel.yml 구성 파일을 추가하고 응용 프로그램으로 포함을/config/config.yml 파일.

... 마침내 작동합니다! 좋은 해결책인지 알 수 있습니다. 지금은 다음과 같이 보입니다 : IT WORKS FINE!

마지막으로, 적어도 : 저는 첫 번째 코멘트에 의견을 추가하는 사람들에게 큰 감사를 표합니다.