PHP : 수천 개의 프레임 워크가있는 땅

작가: Louise Ward
창조 날짜: 6 2 월 2021
업데이트 날짜: 18 할 수있다 2024
Anonim
MVC 웹 프레임워크가 뭔가요?
동영상: MVC 웹 프레임워크가 뭔가요?

콘텐츠

어떤 프레임 워크를 사용해야하는지 물어 보면 아마 할머니가 심술 궂은 순간을 보내고 모든 프레임 워크가 서로 나쁘다고 말할 것입니다. 모두 나쁘다는 말은 아니지만 PHP에는 상상할 수 없을 정도로 많은 수의 프레임 워크가 있으며 (일반적으로 N + 1로 인용되며, 여기서 N은 전 세계의 PHP 개발자 수입니다.) 모두 합리적 일 것입니다. 그들을 발명 한 사람에게.

프레임 워크를 선택하는 것이 정확히 어떤 프레임 워크를 만들 었는지에 관계없이 하나의 프레임 워크 만 사용하는 것보다 낫습니다. 왜냐하면 그것이 '최고'의 척도에 관계없이 '최고'이기 때문입니다. 이러한 프레임 워크 오퍼링 선택은 프로젝트의 요구 사항을 충족하는 것을 선택할 수 있으며 문서화 될 수도 있음을 의미합니다. 모든 플랫폼의 프레임 워크는 구조, 재사용 가능한 모듈 및 라이브러리를 제공하기 위해 실제로 존재하며 일반적으로 동일한 기능을 반복적으로 구축하는 데 필요한 모든 지루하고 반복적 인 작업을 피합니다. 예를 들어 CMS를 구축 할 때 무언가가 나를 위해 양식 필드를 처리하고 유효성을 검사해야합니다. 내 장치에 맡기면 중요한 것을 놓칠 수 있으며 오히려 각 프로젝트의 요소를 다른, 매번 똑같은 것보다는!


풀 스택 프레임 워크

Zend Framework와 같은 풀 스택 프레임 워크는 많은 아키텍처 경험이없는 개발자에게 좋은 시작점이 될 수 있습니다. 새 응용 프로그램을 설치하기에 좋은 구조를 제공하고 주변에 좋은 '생태계'가 있습니다. 많은 책, 자습서 및 몇 가지 합리적인 문서도 있습니다. 많은 사람들이 관리 할 대규모 애플리케이션을 구축하려는 경우, 널리 사용되는 포괄적 인 프레임 워크가 많은 구조를 지시하고 잘 알려져 있고 이해되기 때문에 좋은 선택이 될 것입니다.

분리에 도움이되는 구조를 갖는 것은 항상 좋습니다. 제 경력 초기에 저는 대단히 주니어 개발자들에게 당시 비교적 새로운 MVC (Model View Controller) 패턴을 가르치려고 시도했습니다. 우리는 뷰 레이어에서 Smarty를 사용하기로 결정했습니다. 부분적으로는 디자이너가 템플릿으로 더 쉽게 작업 할 수 있도록하고, 부분적으로는 누군가가 내 책상에 와서 "스마티로 X를 어떻게 할 수 있나요?"라고 말했을 때 "보기에서 X를하지 마세요!"라고 말할 수 있습니다. (10 번 중 9 번, 그게 답이었습니다). 프레임 워크가 있으면 애플리케이션의 다른 부분에서 동일한 분리를 찾는 데 도움이됩니다. 그들 중 다수는 Smarty 또는 내가 좋아하는 Twig와 같은 템플릿 레이어에 대한 통합을 지원하므로 선택한 프레임 워크에 관계없이 이러한 도구를 사용할 수 있습니다.


부하 경감

Zend Framework보다 가벼운 프레임 워크가 많이 있습니다. 예를 들어 저는 CodeIgniter를 꽤 많이 사용합니다. Zend Framework만큼 포괄적이고 견고합니까? 아니요, 그렇지 않습니다. 그러나 응용 프로그램을 신속하게 구축 할 수있는 도우미 프레임 워크로 유용합니다. 일반적으로 '도우미'기능이 적은 프레임 워크는 각 부분이 어떻게 결합되는지가 훨씬 더 분명하기 때문에 길을 찾기가 더 쉬울 수 있습니다. 익숙하지 않은 프레임 워크 (제게는 거의 모든 것)에서 작업 및 디버그를 어렵게 만드는 것은 자동 마법의 비트입니다.

"새로운 틀에서 잃어버린"느낌은 피할 수없고 완전히 실망 스럽습니다. 경험이 많은 개발자라도 작동 원리를 모르는 경우 초보자처럼 느껴집니다. 정말 운이 좋지 않다면 IRC 채널에서 자신도 바보라고 알려주는 프레임 워크를 선택했을 것입니다! 많은 사람들이 새로운 프레임 워크를 사용하거나 처음부터 채택하는 것을 방해하는 것은 매우 부정적인 초기 경험이며, 그 초기 장애물을 극복하는 데 도움이되는 프레임 워크는 거의 없습니다.


PHP에는 제가 일반적으로 사용하는 방식의 프레임 워크가 아닌 일부 프레임 워크도 있습니다. 멋진 컴포넌트 프레임 워크가 있습니다. Zeta Components (이전의 eZ Components) 및 Symfony Components (이 사이트를 본 적이 있습니까? 최고의 예술 작품 상을 수상했습니다!)와 같이 마음대로 사용하고 함께 훌륭하게 플레이 할 수 있도록 설계된 라이브러리 모음입니다. 이들 중 가장 잘 알려진 것은 물론 PHP의 자체 PEAR 및 PECL 제품입니다.이 새로운 프레임 워크 세계에서 잊혀지는 것입니다.

마이크로 프레임 웍스

Microframeworks는 PHP의 새로운 트렌드입니다. 이것들은 당신이 더 빨리 물건을 붙일 수 있도록 도와주는 초경량 제품입니다. 좋은 예는 매우 빠르고 사용하기 쉽고 RESTful 개념을 이해하는 Slim입니다. URL 패턴 인 '경로'라는 개념을 기반으로합니다. 경로를 등록하고 해당 URL이 요청 될 때 호출되어야하는 콜백을 제공합니다.

대부분의 PHP 개발자는 프레임 워크를 채택하고이를 고수하거나, 직장에서 하나를 사용하고 취미 나 오픈 소스 프로젝트를 위해 다른 하나를 사용할 수 있습니다. 사용할 "최고의"프레임 워크에 대한 합의가 거의 없기 때문에 모든 사람이 자신이 알고있는 것을 고수하고 그 결과 엄청난 수의 프레임 워크가 병렬로 개발됩니다! 나는 선택할 수있는 것을 좋아하지만, 그것들이 서로 똑같이 나쁘다고 언급 했는가?

Zend Framework를 알고 있다면 Zend Framework 개발자로 자신을 설명하게됩니다. 다른 프레임 워크에 익숙해지기 전까지는 다른 프레임 워크로 작성하는 것이 편하지 않을 것이며 자주 사용하지 않는다면 원시 PHP 함수를 기억하지 못할 것입니다. 우리가 프레임 워크에 특화된 개발자가되었고 추상화 계층 위에서 만 작업한다는 생각은 PHP에게는 조금 이상합니다. 결국 이것은 "웹 문제를 해결하기위한"언어입니다. C로 작성되었으며 그 자체로 빠르고 가벼운 언어입니다. 대규모 프레임 워크 부트 스트랩 프로세스가 실행될 때까지 기다리지 않아도됩니다! 이러한 맥락에서 우리가 Funkatron이라고 부르는 사람이 작성한 MicroPHP 선언문이 나왔습니다 (그의 이름은 실제로 Ed Finkler 임에도 불구하고). 상호 운용이 가능한 작은 모듈을 여러 개 구축해도 괜찮고, 더 크면 좋지 않으며, 실제로 Java에 비해 수명이 너무 짧습니다. PHP로 작성하더라도 말입니다.

편집자의 선택
동물을 그리는 방법 : 15 가지 팁
발견하다

동물을 그리는 방법 : 15 가지 팁

동물을 그리는 방법을 배우는 것은 일러스트레이션의 필수적인 부분입니다. 전 세계의 야생 동물 장면에서 애완 동물 초상화에 이르기까지 기술을 익히면 수많은 가능성이 있습니다.저명한 애니메이터이자 감독이자 야생 동물 예술가 인 Aaron Blai e의이 가이드는 동물을 성공적으로 그리는 방법에 대한 전문가의 조언을 제공합니다. 약간의 연습을 통해 동물의 왕국이...
2020 년 획기적인 10 가지 기술 혁신
발견하다

2020 년 획기적인 10 가지 기술 혁신

2019 년은 빠른 기술 혁신의 또 다른 해였으며, 순전히 처리 능력 측면에서 랩톱을 능가 할 수있는 카메라 탑재 스마트 폰부터 수많은 새로운 스마트 홈 장치에 이르기까지 모든 것을 가져 왔습니다.하지만 2019 년 크리에이티브 전문가에게 탁월한 기술은 무엇이며 향후 12 개월 동안 무엇을 기대할 수 있을까요? eGPU로 노트북의 그래픽 성능을 강화하든, ...
일러스트 레이터 핫리스트 2018
발견하다

일러스트 레이터 핫리스트 2018

일러스트레이션의 세계는 오래 머물지 않습니다. 업계를 형성하는 새로운 일러스트레이션 트렌드와 일러스트레이션 도구 외에도 항상 새로운 인재가 현장에 나타나 혁신적인 기술과 새로운 관점으로 시대 정신을 혼란에 빠뜨리고 있습니다.때로는 따라 잡기가 어려울 수 있습니다. 따라서 고용, 공동 작업 또는 영감을 줄 최고의 일러스트 레이터를 찾고 있든 관계없이 가장 흥...