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

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

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


답변

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

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

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


답변

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

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


답변

니 프라 처럼 말했다 당신이 프레임 워크없이 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) 인 사용자 모델과 세션 및 기타 기본 구조의 추상화를 찾습니다.

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


답변

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

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

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

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

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

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

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

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

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


답변

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

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

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


답변

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

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

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


답변

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