프레임 워크는 언제 사용해야합니까? [닫은]


15

나는 웹 프로그래밍에 익숙하지 않으며 현재 PHP에 대해 배우고 있습니다. CakePHP와 같은 PHP 프레임 워크를 언제 사용해야하는지 알고 싶습니다. 이것과 다른 유사한 PHP 프레임 워크가 제공하는 것은 무엇입니까? 그리고 전문가가되기 위해 프레임 워크를 사용하는 것이 정말로 중요합니까?

  • 그리고 내가 좋아하는 기능을 제공하기 위해 자체 프레임 워크를 만들 수 있습니까?

3
그것이 제공하는 것을 이해하고 필요할 때 해결할 수 있으면 [xyz] 프레임 워크를 사용하십시오. 프레임 워크는 사용 방법을 알고 선택의 한계를 이해하는 숙련 된 사람들을위한 도구입니다. 어떤 상황에서도 프레임 워크만으로 언어를 배우지 마십시오. 발가락이나 말초 시야를 고의로 끄는 것과 같습니다. 힌트는, 세션은 이상한 :) 조심해야 .. PHP 프레임 워크를 사용 내용에 따라 다르게 동작
팀 포스트

답변:


10

PHP에 익숙해지면 프레임 워크를 사용할 수 있습니다. 그리고 당신은 항상 그것들을 사용해야합니다 :

  1. 모든 것을 다시 코딩하는 것보다 훨씬 빠릅니다.
  2. 데이터베이스 변경 또는 뷰 변경과 같이 수정이 쉬워집니다.
  3. MVC 패턴 프레임 워크 사용에 자주 사용되므로 다른 사람들과의 작업도 쉬워집니다.

자신의 프레임 워크를 만들 수는 있지만 분명히 권장하지는 않습니다. 복잡하고 이미 좋은 프레임 워크가 많이 있으며 누락 된 기능을 찾지 못할 것입니다. 게다가, 그들은 완전히 새로운 기능을 만들지 않고도 자신의 기능을 추가 할 수있는 방법을 제공합니다.


2
PHP 사용이 편한 경우 +1 프레임 워크 사용을 시작할 수 있습니다. 포인트 3)은 프레임 워크가 매우 유사한 경우에만 잘 작동합니다. "몇 가지 다른 프레임 워크를 많이 사용하기 전에 프레임 워크를 만들지 마십시오"
peterchen

8
"항상 사용해야합니다"라는 문구에 동의하지 않습니다. 그것들은 모든 프로젝트에 적합하지 않으며 종종 수정을 더 어렵게 만듭니다 . 유틸리티는 프레임 워크보다 훨씬 가치가 있습니다.
니콜

@NickC에 +1하면 더 이상 동의 할 수 없습니다. 일부 프레임 워크는 역동적이고 변화가 쉽다고 주장 하지만 특정 시점에 도달하면 할 수 없습니다. 나는 그런 종류의 것에 대해 많은 것을 털어 놓았습니다 :)
Steve Hill

MVC는 다른 사람들이 올바르게 사용될 때 학습 곡선을 덜 사용하여 코드를 시작할 수있는 매우 좋은 공통점이라는 데 동의합니다. 그러나 MVC는 빛나는 별이며 프레임 워크 (또는 그 부족)는 구현 일뿐입니다.
Tim Post

이 모든 것은 이론적이며 실제로는 효과가 없습니다. PHP 프레임 워크는 이러한 모든 것을 어렵게 만들 가능성이 높습니다. 스크래치로 작성된 평균 응용 프로그램에는 약 5 ~ 5 천 줄의 프레임 워크 코드가 필요합니다. 약 일주일의 평균 작업 시간입니다. 그 이상이라면 아마도 라이브러리를 작성하거나 내부 플랫폼을 만들고있을 것입니다.
jgmjgm 2016 년

9

프레임 워크없이 몇 페이지를 작성하십시오. 기본적으로 시행 착오를 거쳐 자체 프레임 워크를 작성하기 시작합니다. 그렇게 한 후에는 프레임 워크로 이동하여 얼마나 많은 시간을 절약 할 수 있습니다. 자신의 프레임 워크를 구축하려고하면 몇 가지 사항을 배울 수 있으며 이미 존재하는 프레임 워크를 이해하는 데 도움이됩니다.

처음 PHP에 들어 왔을 때 프레임 워크가 복잡한 시간 낭비라고 생각했습니다. 이제 간단한 프로젝트에도 CodeIgniter를 사용합니다. 시작하고 실행하는 데 약 1 분이 소요됩니다. 이미 훌륭한 라이브러리가 많이 있습니다. 이전 포스터에서 언급했듯이 대부분의 프레임 워크는 확장 가능하므로 언제든지 원하는 기능을 추가 할 수 있습니다.


2
그러나 프레임 워크의 코드가 내가 원하는 그대로인지 나중에 어떻게 확인할 수 있습니까? 모든 프로그래머가 자신 만의 스타일을 가지고 있다는 것을 의미합니다. 프레임 워크는 어떻습니까 !!
Goma

1
@Goma 언어는 어떻습니까? 나는 내가 원하는 방식으로 모든 것을하는 것을 아직 찾지 못했습니다. 프레임 워크는 아주 비슷한 것을 추가합니다 (아마도 더 높은 추상화 수준에서). 진지하게, 코딩은“모든 것을 원하는대로 보이게 / 동작 / 정확하게 만드는 것”에 관한 것이 아닙니다. 유용한 것을 만드는 것에 관한 것입니다. 코드는 코드가 처음.
Christopher Creutzig

그리고 @TaylorOtwell은 Laravel의 창시자입니다.
Hos Mercury

4

니 프라 처럼 말했다 당신이 프레임 워크없이 PHP를 사용할 수있는 경우에만 프레임 워크를 사용하기 시작 (즉, 액세스 데이터베이스, 전송 헤더와 내용, 문자열 처리, 데이터 조작 등). 귀하의 질문에 관한 한 :

  • CakePHP와 같은 PHP 프레임 워크는 언제 사용해야합니까? 프로젝트가 몇 개의 PHP 파일을 넘어 성장할 때; 로직을 개별 요소로 강력하게 분리하고 모듈화 / 공유 기능 (세션 등)을 시작하는 순간은 프레임 워크를 사용해야합니다.

  • 이것과 다른 유사한 PHP 프레임 워크가 제공하는 것은 무엇입니까? 추출; 데이터베이스와 직접 상호 작용하는 대신 ORM (Object-Relational Mapping)을 사용하여 데이터베이스의 데이터 간 구조 및 관계를 관리 할 수 ​​있습니다. 많은 언어로 된 대부분의 프레임 워크는 ORM을 제공하여 응용 프로그램의 데이터베이스 계층과 쉽게 상호 작용할 수 있도록합니다. 마찬가지로 프레임 워크는 종종 사용자 상호 작용에 응답하는 계층을 분리합니다. 가장 일반적인 분리는 MVC (Model View Controller) 패러다임입니다. 간단히 말해서 데이터베이스 로직을 모델 (ORM에 대한 인터페이스)로 추상화하고 요청을 처리하고 모델과 컨트롤러와의 상호 작용을 추상화합니다. 실제 HTML / PDF / 이미지 등의 렌더링 보기로. 프레임 워크는 종종 요청 URI의 복잡한 처리를 위해 라우팅과 같은 다른 도구를 제공합니다 (EG : 요청 매핑 "http://example.com/users/1 "컨트롤러 사용자에게 연결 한 다음 ID가 1) 인 사용자 모델과 세션 및 기타 기본 구조의 추상화를 찾습니다.

  • 그리고 전문가가되기 위해 프레임 워크를 사용하는 것이 정말로 중요합니까? 반드시 그런 것은 아닙니다. 프레임 워크는 삶을 더 쉽게 만듭니다. 그러나 전문가가되기 위해 하나를 사용할 필요는 없습니다. 프레임 워크는 편리한 추상화 및 표준화를 제공하지만 대부분의 경우 필수는 아닙니다.


3

답변 중 일부를 읽은 후에는 먼저 어떤 프레임 워크를 사용할 것인지 또는 하나를 사용할 것인지 (전문가로서) 사용할 지에 대한 옵션이 많지 않다고 말하고 싶습니다. 협박하고 싶지는 않지만 한 프레임 워크에서 다른 프레임 워크로 한 번에 하나 이상의 프레임 워크를 사용할 수 있도록 PHP에 대한 충분한 이해를 구축해야합니다.

CakePHP와 같은 PHP 프레임 워크는 언제 사용해야합니까?

이에 대한 보편적 인 대답은 없습니다. 전문가라면 특정 문제를 해결해야 할 과제가 될 것이며, 이는 특히 고객이 특정 요구 사항을 가지고있는 경우 각 프로젝트의시기와 내용에 대한 결정 요인이 될 것입니다. 그러나 일반적으로 말하면 자체 프레임 워크가있는 기존 응용 프로그램 (예 : Wordpress 또는 PHPBB)을 수정하거나 확장하지 않는 한 항상 PHP와 함께 특정 형식의 프레임 워크를 사용합니다.

이것과 다른 유사한 PHP 프레임 워크가 제공하는 것은 무엇입니까?

더크가 말했듯이 추상화를 제공합니다. 이것이 의미하는 바는 공통의 다단계 절차를 수행하여 가능한 한 간단하고 능률화되도록 노력한다는 것입니다. 요컨대, 그들은 일반적인 작업을 위해 방금 물 솔루션을 제시하려고합니다.

그리고 전문가가되기 위해 프레임 워크를 사용하는 것이 정말로 중요합니까?

일반적으로 전문가가되기 위해 프레임 워크를 사용 하는 것은 중요하지 않습니다 . 그러나 현실적으로 적어도 두 가지 공통 프레임 워크에 익숙하지 않으면 많은 경력이 없습니다. 프레임 워크가없는 PHP는 std 라이브러리가없는 C ++과 같습니다. 필요하지 않으며 언어의 하위 수준 builing-block 기능을 직접 사용하기 때문에 실제로는 더 많은 작업을 수행 할 수 있지만 동일한 작업을 수행하는 데 훨씬 오래 걸립니다.

그리고 내가 좋아하는 기능을 제공하기 위해 자체 프레임 워크를 만들 수 있습니까?

예. 실제로, 의도하지 않더라도 그렇게 할 수 있습니다. 이것에 의해 나는 광범위한 do-all 프레임 워크를 의미하는 것이 아니라, 작업을 수행하는 기본 기능과 스크립트의 툴 백과 같은 것이 일반적인 프레임 워크에 의해 처리 될만큼 일반적이거나 일반적이지 않습니다. Mine은 기본적으로 몇 가지 다른 curl 및 stream / socket 유틸리티를 사용하여 다양한 파일 시스템, 프로세스 처리 및 rex-ex tid 비트로 구성됩니다.


1

데이터베이스와 대화하고 온라인 API와 대화하는 내 자신의 방법을 해킹하는 데 몇 년을 보낸 사람에게서 일반적이며 프레임 워크를 사용하기 시작했을 때만 가능합니다.

데이터베이스 작업을 처음 시작할RedBean 을 즉시 뛰어 넘지 말고 DB를 먼저 수동으로 작업하십시오. 이렇게하면 실제로 데이터베이스를 가져오고 DB에 수행하는 작업에 대한 철저한 이해가 가능 해져 확장성에 실제로 도움이됩니다. 그런 다음 사용하는 프레임 워크가 수행해야하는 작업을 수행하지 않을 때 고유 한 솔루션을 만들 수도 있습니다.

그래도 무슨 일이 일어나고 있는지 이해하면 프레임 워크를 사용하십시오! 일이 훨씬 쉬워집니다. 쿼리를 저장하고 결과를 반복하는 데 따르는 미쳤던 mysql_fetch_assoc일은 모두 한 번의 호출로 줄었습니다 $book = R::load( "book", $id ). 생산성이 향상되고 향후 버그를 수정하거나 향후 기능을 훨씬 쉽게 추가 할 수 있습니다.


1

기본 기술을 잘 알고 프레임 워크가 자신에게 어떤 역할을하는지 알 수있을 때 프레임 워크를 사용하십시오.

프레임 워크는 일종의 메타 도구로, 수행중인 작업의 세부 사항에 대해 걱정할 필요없이 도구 (언어, 데이터베이스)로 조금 더 빠르게 작업 할 수있게 해줍니다. 도구.

당신이하고 싶지 않은 것은 도구 대신 프레임 워크를 배우고 특정 일을하는 방식으로 운하 화되어 근본적인 언어와 개념을 완전히 익히지 못하게한다는 것입니다. 목발이 아닌 도구.


1

자신이 똑같은 일을 반복해서하는 것을 발견했을 때, 당신 자신과 똑같은 중복 작업을하는 프레임 워크가 있는지 살펴보십시오. 과대 광고로 인해 프레임 워크를 사용하지 마십시오. 저는 개인적으로 CodeIgniter와 Rasmus Lerdorf의 "프레임 워크가없는 PHP MVC 프레임 워크"를 좋아합니다. http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html


나는 어떤 종류의 관리 / 출판 시스템으로 쉽게 이식 될 수없는 대부분의 정적 (거대한) 사이트에 새로운 기능을 추가하는 어려움을 완화하기 위해 여러 가지 '프레임 워크 프레임 워크 없음'을 작성했습니다. 그러나 나는 새로운 프로젝트를 위해 내 자신을 굴리지 않을 것입니다 (프레임 워크가 필요한 경우 CI를 사용합니다).
Tim Post

@Tim Post 일반적으로이 질문에 대한 흑백 답변은 없습니다. 그것은 모두 현재 진행중인 프로젝트에 달려 있으며, 원본 게시물은 특정 프로젝트에 대한 세부 정보를 제공하지 않았습니다.
프로그래머

1
프레임 워크 zealot에서 다운 투표를받은 것 같습니다.
프로그래머

Twasn't :) 누군가가 당신이 게시 한 링크에 대해 실제로 자세하게 설명하지 않고 반응했을 수도 있습니다.
Tim Post

@Tim Post Heh! 그렇기 때문에이 두 의견을 모두 분리해야합니다. : D
프로그래머

-1

프레임 워크 x, y 또는 z를 사용하는 이유를 신중하게 생각하는 것이 좋습니다. 모든 프레임 워크는 기능을 제공 할뿐만 아니라 스스로 구현할 필요는 없으며 사고 방식도 제공합니다. Spring, JEE, Rails 또는 Django를 살펴보십시오. 웹 응용 프로그램을 짧은 시간 안에 사용할 수있는 4 가지 프레임 워크

그러나 네 가지 모두 웹 앱 구축 방법에 대한 독자적인 사고 방식을 장려합니다. 그것이 당신의 요구에 맞지 않거나 당신의 취향에 맞지 않는다면, 당신은 일을 더 진행하는데 어려움을 겪을 것입니다.

이것은 매우 급격한 비교 였지만 아마도 작은 라이브러리를 구축하는 것이 귀하의 요구에 더 잘 맞을 것입니다. 그러나 프레임 워크를 아는 것은 소프트웨어 개발에 전체적으로 관심이 있다는 것을 보여 주므로 대규모 팀에서 일하거나 새로운 일자리를 찾는 데 도움이 될 것입니다.


-2

프레임 워크는 항상 사용하기에 좋습니다. 코드 재사용 성을 높이고 가독성을 높이며 개발 시간을 약간 단축합니다.

PHP에 익숙하지는 않지만 프레임 워크 사용을 권장합니다.


왜 다운 투표?
Pierre Pretorius 2018 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.