2012-12-15 2 views
0

나는 CakePHP2.3으로 작성된 프로젝트를 가지고 있으며 PHP를 5.4 버전으로 업그레이드하려고합니다. 나는 코드 DRY를 유지하려고 노력하고 있으며, PHP5.4의 특징은 도움이 될 수 있습니다. 현재 PHP 버전은 5.3.3입니다.PHP5.4 및 CakePHP2.3 호환성

서버에 물건을 설치하기 전에 이것이 좋은 생각인지 알고 싶습니다.

  • 그래, 당신이 어떤 Compability가 문제가 발생했을 경우, & PHP5.4 함께 CakePHP2.3을 사용하고 있나요?

  • PHP5.4의 새로운 특성을 사용 했습니까? 그렇다면 문제가 있습니까?

답변

1

저는 PHP 5.4 서버에서 CakePHP 2.2 프로젝트를 운영하고 있습니다. CakePHP의 클래스가 상속 패턴으로 적절하게 작성되면서 제대로 작동합니다. 그러나 응용 프로그램이 상속을 잘못 구현하면 5.3에서 얻지 못한 5.4의 PHP 오류가 발생합니다.

class parentClass{ 
    public function test($foo); 
} 

class childClass extends parentClass{ 
    //Does not properly implement test 
    public function test(); 
} 

그렇지 않으면 CakePHP 2.0+와 완전히 호환됩니다. (CakePHP 2.3이 아직 개발 중이므로 업그레이드하지는 않았지만 2.2와 API 호환이 가능하므로 모든 버전의 2.0 브랜치에 적용됩니다).

버전 3.0까지는 CakePHP에서 특성이 공식적으로 지원되지 않습니다. 그러나, 나는 그들 프로젝트에서 문제없이 사용했다. 실제로, 그들은 매우 편리하게옵니다! CakePHP 메소드를 가져 오기 위해 (아직 지원되지 않음) 사용할 수는 없지만 표준 require_once('trait_file_name.php');을 사용하고 클래스/인터페이스에 특성을 적용하십시오.

CakePHP 3.0에는 PHP 5.4가 필요하므로 사용하려는 개발 패턴이 안으로 들어갑니다.