2010-08-04 6 views
3

저는 PHP를 개인 프로젝트로 사용하는 사이트를 만들고 있습니다. 필자는 플랫 PHP 파일 (HTML과 혼합 된 SQL 쿼리가있는 종류)을 작성하기 시작했습니다. 몇 페이지를 읽은 후에 나는 그것이 유지하기가 어려워지고 있음을 발견했다. 그래서 나는 ORM (Propel)을 사용하기 시작했다. 그런 다음 Symfony에 대해 소개되었습니다.어떤 종류의 프로젝트가 PHP 프레임 워크에 적합합니까?

Symfony의 MVC 패턴에 맞도록 내 코드를 리팩터링하기 시작했습니다. 나에게 이것은 Symfony와 같은 작은 프로젝트가 실제로 일을 더 복잡하게 만들고 실제로 느리게 개발되는 것처럼 보입니다. 프레임 워크는 여러 팀이 설계 한 대규모 응용 프로그램에보다 적합합니까? 아니면 내가 잘못하고있는거야?

+0

개발 및 적용을위한 빠른 기능을 갖추기 위해 사용중인 도구에 대한 광범위한 지식이 부족합니다. 원하는 도구를 모두 사용하여 원하는 기능과 방법을 모르는 경우가 아니면 먼저 도구를 마스터해야합니다. – Prix

+0

CodeIgnitor는 아주 가볍기 때문에 작은 것을 만드는 데 많은 일을하고 있다고 느낄 수는 없습니다. 비록, SO와 같은 사이트; 그것은 작은 프로젝트입니까? –

+0

저는 웹 개발 디자인 패턴과 모범 사례를 배우려하고 있습니다. 이 프로젝트는별로 중요하지 않습니다. 그것은 내가 배운 것을 적용하는 것입니다. –

답변

5

모든 프레임 워크 또는 신기술은 느리게 진행되는 동안 학습 곡선을 갖게됩니다. 프레임 워크에 대한 MVC 패턴 및 모범 사례를 따르면 일반적으로 더 깨끗하고 유지 보수가 쉬운 코드가됩니다. MVC에는 약간의 오버 헤드가 있고, 구조적으로 잘 구성되어 있습니다. 이 오버 헤드는 더 큰 프로젝트, 더 오래 지속되는 프로젝트 (개발 시간뿐 아니라 사이트의 수명) 및 더 많은 개발자가있는 프로젝트에 더 많은 이익을 가져다 줄 것입니다. 유지 관리되지 않는 작은 사이트의 경우 오버 헤드가 너무 커서 가치가있을 수 없습니다.

PHP를 전문적으로 작성하거나 진지하게 작성하려는 경우 인기있는 프레임 워크 또는 두 가지를 배우는데 시간을 할애해야합니다.

"SO와 같은 사이트"는 "작은 프로젝트"가 아닙니다.

+1

학습 곡선은 +1, 장기적으로는 더 큰 보수를 위해 +10. – cbednarski

+1

전적으로 동의합니다. 새로운 기술은 당신이 마법을 발견 할 때까지 지루해 보입니다 ;-) 내가 시작한 지난 10 개의 예비 프로젝트는 "이 프로젝트는 심포니를 사용하기에는 너무 작습니다."그리고 며칠 후 "젠장, 나는 이것을 다시 작성하십시오 "... 요점 : 학습 곡선을 이미 지나친 경우 프레임 워크 사용이 정당화 될 수없는 경우는 거의 없습니다. – phidah

1

프레임 워크와 향후 개발 속도와 현재의 개발 용이성을 어느 정도 상쇄하길 원하는지에 따라 다릅니다. 가장 밑바닥에 도달하는 가장 좋은 방법은 몇 가지 프레임 워크를 시험해보고 가장 적합한 것을 확인하는 것입니다. 몇 가지 임의의 예는 다음과 같습니다

내가 위의 내용을 모두 사용하고 난 개인적하지만 확실히, 가장 좋은 것으로 Agavi를 발견 가장 빠른 작업이 아닙니다. 나는 나머지만큼 케이크에 깊은 인상을 받았지만, 다시 이것은 개인적인 취향이다.

0

프로젝트가 실제로 얼마나 작은 지 모르지만 프레임 워크를 배우고 프레임 워크의 철학을 따르는 프로젝트를 디자인하는 데 시간이 걸리지 만 일반적으로 가치가 있습니다.

내 경험에 비추어 볼 때, 프로젝트가 분명히 (순진한 PHP → 모델 분해 → →) 프로젝트가 성장하기 시작하면 최상의 경우, 간단한 프레임 워크와 매우 유사한 코드로 끝납니다. 반면에 프레임 워크를 사용할 때, 프로젝트의 기본 디자인은 대개 잘 고려되어 있으므로, 경험이 풍부한 소프트웨어 아키텍트가 아니더라도 (아마도 당신은 무엇입니까?) 프로젝트를위한 좋은 토대를 얻을 것입니다 .

또한 개인 프로젝트라고 말하면 취미이거나 교육적인 것으로 생각됩니다. 프레임 워크를 사용하면 웹 개발의 디자인 패턴과 모범 사례를 배우는 좋은 방법이 될 수 있습니다.

아마도 Symfony가 최선의 선택이 아닙니다. 나는 그것이 결국 개인적인 견해의 문제라고 생각한다. 개인적으로 나는 파이썬으로 코딩 할 때 PHP와 장고를 코딩 할 때 CakePHP를 좋아한다.

관련 문제