더 나은 장기 업그레이드 / 유지 가능성, CakePHP 또는 CodeIgniter를 보장하기 위해 어떤 프레임 워크를 사용해야합니까?

StackOverflow https://stackoverflow.com/questions/255082

문제

PHP를 시험해 볼 프레임 워크를 결정하고 있습니다. 나는 그것을 CakePHP와 CodeIgniter로 좁혔습니다. 나는 두 가지를 사용하거나 익숙한 분들에게 몇 가지 질문이 있습니다.

  1. CakePHP가 대부분의 코드를 기본적으로 바깥쪽에 유지한다는 사실이 마음에 듭니다. 특히 여러 앱에 대한 단일 프레임 워크 설치를 사용할 수 있기 때문입니다. 나는 CodeIgniter도 그렇게 할 것이라고 생각하지만, 당신은 그것을 구성하고 물건을 움직여야합니다. 그 해결 방법은 안전하고 신뢰할 수 있습니까, 아니면 후에 해킹입니까?

  2. 둘 다가 아니라면 업그레이드가 더 쉽고 장기적으로 유지되는 것은 무엇입니까? 새로운 버전의 프레임 워크 (및 PHP 자체)가 나옵니다. 나는 내 물건을 깨거나 구식이되고 싶지 않습니다.

편집하다:

이것은 아주 오래된 게시물이지만, 나는 마침내 내가 한 일으로 업데이트 할 것이라고 생각했습니다.

도움이 되었습니까?

해결책

당신은해야합니다 노력하다 일주일 동안 두 프레임 워크 모두 사소한 것을 구축하고 (블로그 나 위키와 같은) 둘 다를 선호하고 무엇을 선호하는지 확인합니다. 가장 의미가있는 것은 무엇이든 당신에게 감가 상점을 업그레이드함으로써 당신을 가장 길게 유지할 것입니다.

CakePHP는 현재 약간의 변동성 상태에 있으며, 버전 1.2 (후진 호환되지 않음)를 릴리스하는 동안 여전히 버그를 발굴하면서 버그를 발굴합니다. 나는 당신이 바위가 고체가 필요하다면 중요한 응용 프로그램을 구축하는 것을 제안하지 않을 것입니다. 지금 바로. 일이 해결 될 때까지 한두 달을 기다릴 수 있다면 아마도 그것은 아마도 다가오는 지점 일 것입니다.

귀하의 우려 사항을 해결하려면 :

1) 케이크와 CI는 같은 방식으로 수행합니다 (IIRC). 그들은이 전선에서 똑같이 안전하고 신뢰할 수 있으며 해킹됩니다.

2) 모든 것이 바뀝니다. 안정성과 후진 호환성에 대한 구체적이고 영구적 인 보증이 필요한 경우 자신의 프레임 워크를 굴립니다. 그다지 많지 않으며, 원하지 않는 한 아무것도 변하지 않는다는 보장됩니다.

다른 팁

CakePHP에 여러 응용 프로그램을 배치했으며 매우 좋은 경험이었습니다. 둘 다 견고하기 때문에 어느 쪽이든 잘못 갈 수 없습니다.

  1. 문제가되지 않습니다.

  2. CodeIgniter는 그 뒤에 스폰서를 가지고 있으므로 확실히 장기적으로 선택해야합니다. 또한 더 빠릅니다.

  1. 이것은 비 문제입니다. 앱에는 핵심과 응용 프로그램 코드가있는 위치를 나타내는 몇 줄이 있습니다. 당신은 그 줄을 변경하면됩니다.

  2. 당신은 이것을 기대할 수 없습니다.

PHP 상태는 여기서 와일드 카드입니다. 한 앱 (CI)은 PHP4와 호환되도록 만들어졌습니다. 다른 앱은 PHP5가 필요합니다. 이전 버전의 PHP를 지원하는 웹 호스트의 가능성을 처리 해야하는 경우 CO를 사용해야합니다.

또 다른 문제는 단위 테스트입니다. 프레임 워크가 테스트를 통해 배송 해야하는 경우 CI는 갈 길이 아닙니다.

개인적으로, 나는 회사의 후원 때문에 CI에 편안하다고 느낍니다. CI 뒤에있는 회사는 그들의 노력으로 실질적인 이익을 얻고 있습니다. CI는 무료이지만 유료 제품 (ExpressionEngine)은 결국 CI에 살 것입니다. Zend 프레임 워크와 심지어 레일의 탄생에 대해서도 마찬가지입니다 (원래 Basecamp를 위해 제작).

위의 의견에 대한 사소한 수정 : 둘 다 CI뿐만 아니라 PHP4와 호환됩니다. 또한 스폰서를 갖는 것이 CI와 다소 업그레이드되거나 유지 가능하다고 생각하지 않습니다. 돈은 최소한의 문제를 해결하지 못합니다.

나는 다양한 응용 프로그램에 CakePHP를 사용하고 지금까지 그것에 만족했습니다. 1.2는 1.1 이상의 크게 개선되었으며, 라이브러리 소스가 RC3에서 최종으로 변경 될 수 있지만, 당신이 쓰는 코드는 더 이상 사용되지 않을 것이라고 생각합니다. 나의 유일한 멍청한 것은 매뉴얼이 (내 의견으로는) 포괄적이지 않다는 것입니다. 트레이드 오프는 이제 무대 뒤에서 코드를 잘 이해하고 있다는 것입니다. 어쨌든 나는 그것을 강력히 추천합니다.

반면에, 나는 CI와 함께 연주 한 적이 없으므로 CakePHP를 추천 할 수 없습니다. ~ 위에 CI. 나는 스핀을 위해 각각을 가져 가서 어느 쪽이 당신을 잡는 지 볼 것입니다. 어느 쪽을 선택하든, 대회와 능력에서 지옥을 연구하십시오. 케이크로 시작했을 때, 나는 무의식적으로 컨트롤러에 하나의 변수를 설정하여 케이크가 "자동으로"한 일을하기 위해 많은 코드를 썼습니다.

Codeigniter는 시도한 후에 볼 수 있듯이 매우 유연합니다. 따라서 응용 프로그램을 유지할 수있는 방법은 당신에게 손을 쓰러 뜨릴 것입니다.

또한 동일한 설치를 사용하여 여러 응용 프로그램을 배포했습니다. 나는 보통 CMS 프로젝트를위한 2 개의 응용 프로그램을 만듭니다 (하나는 관리자 용, 프론트 엔드 용).

Codeigniter 관점에서 두 가지 질문을 모두 해결하려면 (케이크를 사용하지 않습니다) :

1) Codeigniter는 기본적으로 Webroot 외부를 유지하지는 않지만 매우 간단한 변경으로 그렇게 할 수 있습니다. 첫 번째 부분 내 CI 튜토리얼 시리즈 새로운 CI 인스턴스 설정을 걸어 다니는 방법과 함께 그렇게하는 방법을 설명합니다. 일단 완료되면 CI의 유일한 부분은 webroot에 있어야하는 유일한 부분은 작은 index.php bootstrap 파일입니다.

2) CI 1.4.x에서 원래 개발 한 응용 프로그램이 있으며 1.5.x로 1.6.x로 성공적으로 마이그레이션했습니다. 각각의 새로운 릴리스마다 CI Dev의 Make Make 사용 가능한 세부 업그레이드 지침을 사용하여 업그레이드를 교체해야 할 사항을 배치하는 것은 매우 쉽습니다.

짐.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top