PHP가 아닌 개발자가 일반적으로 PHP 및 PHP 관련 커뮤니티를 경멸하는 이유에 대해 이야기합니다. 그는 나에게 마음에 남는 요점을 제시했는데, 그 이유는 이전에 이런 말을 들어본 적이 없었기 때문입니다.
대부분의 프로그래머가 PHP에 대해 어떤 불만을 가지고 있는지 모른다면 다음과 같이 보일 것입니다.
보기 흉한 구문
다른 언어가 부족함 모두 필요한 기능이 있음 (버전 5.3 이전에는 네임스페이스, 클로저 없음)
일관되지 않은 함수 이름 지정, 사용 규칙 및 기타 이상한 것들
절차적 지향과 객체 지향 혼합 백
기본적으로 80- PHP 프로젝트의 90%는 똥덩어리만큼 나쁘다
그러나 그가 언급한 PHP 개발 문제는 또 다른 문제이다. 그는 언어에 문제가 있다고 말하지 않습니다. 그는 언어가 일반적인 문화적 현상, 즉 일반적으로 언어 창시자가 만든 문화적 전통에 둘러싸여 있다고 생각하며, 이는 현재 일부 나쁜 프로그래밍 관행의 원인인 것으로 보입니다. 격려하는 역할을 했습니다. 즉, PHP 코드를 열등하고 유지 관리할 수 없게 만듭니다.
창업자의 철학적 사고를 구현하고 관련 커뮤니티에서 높은 평가를 받는 언어나 프레임워크의 현상이 존재합니다. 그는 Ruby와 창립자 Matz를 예로 들었습니다. Matz가 원했던 것은 읽기 쉽고 쓰기 쉽고 프로그래머의 작업 효율성을 향상시킬 수 있는 언어였습니다. Ruby 개발자들이 빠른 개발과 언어의 우아함에 대해 어떻게 말하는지 모르시나요?
그리고 DHH와 그의 Rails 프레임워크가 있습니다. 그리고 Guido와 그의 Python 언어. 그래서 저는 PHP용 Rasmus는 어떻습니까?라고 생각했습니다.
Rasmus Lerdorf는 매우 흥미로운 인상을 남겼습니다. 그는 원래 PHP 언어를 만들었고 계속해서 개선하고 있습니다. 그는 PHP 커뮤니티에서 신으로 숭배되며 PHP의 모든 측면에서 최고의 권위를 누리고 있습니다. 그는 수많은 컨퍼런스에서 연설하도록 초대받았고 주요 인터넷 회사에 고용되었으며 많은 문제를 시각적으로 표현한 대부분의 비 PHP 프로그래머가 경멸하는 PHP 전문가가 되었음에도 불구하고 모든 사람의 존경을 받았습니다.
Rasmus는 프레임워크 사용을 피하고 PHP를 템플릿 언어로 다루는 것을 옹호합니다. 그에게 이러한 접근 방식은 직접적인 운영 효율성과 확장성을 제공합니다(프로그램 로드가 알려져 있음). 다른 모든 사람들에게 이 접근 방식은 엄청난 양의 절차적 코드와 유지 관리할 수 없는 프로젝트를 초래했습니다. 1995년 PHP가 탄생한 이후 약 10년 동안 모든 PHP 프로젝트는 이 지침에 따라 작성되었습니다.
동시에 또 다른 문제가 갑자기 나타났습니다. PHP 5.0 이전, PHP 초기에 PHP는 많은 수의 초보 추종자를 얻었습니다. 이 언어의 진입 장벽은 놀라울 정도로 낮습니다. 누구나 자동 압축 풀기 ×AMP Windows 프로그램 설치 패키지를 다운로드하고 2분 이내에 언어를 사용할 수 있습니다. 게다가 당시에는 웹 개발 방식에서 MVC 패턴에 대한 실질적인 합의가 이루어지지 않았습니다. 따라서 초보자 그룹이 좋은 개발 관행이 부족한 언어로 함께 모일 때 무엇을 만들 수 있는지 상상할 수 있습니다. 관리하기 힘든 쓰레기 더미. 그리고 전체적인 환경은 이렇습니다.
오해하지 마세요. 당시에도 훌륭한 PHP 개발자가 많았습니다. 하지만 제가 말했듯이, 조잡한 신인 일은 어디에나 있습니다. 카우보이 PHP 프로그래머들이 어떤 지침 원칙 없이 프로그램을 개발하기 위해 함께 모였을 때, PHPbb, PHPNuke 및 많은 조악한 .php3 패키지가 등장했습니다. 하지만 단순히 PHP 개발자를 비난할 수 있습니까? 할 수 없어! 다른 웹 언어 거대 기업인 ASP와 Perl도 똑같이 악명 높으며 스튜 스타일 개발 접근 방식을 장려합니다.
이것이 PHP가 그렇게 나쁜 평가를 받는 이유입니다. 그 이유는 역사적 확산 때문이다. 이미 Python, Ruby 및 Java로 전환한 대부분의 PHP 개발자는 MVC 개념이 등장했을 때 돌아가서 언어를 다시 생각하지 않았습니다. 또한 일부 프로그래머의 마음이 "PHP에 오염되어 있다"고 불평하는 "Ruby boy" Zed Shaw와 같은 노골적인 풍자도 있습니다. 이와 같은 발언은 RubyInside에서 매우 인기가 있습니다.
PHP는 게토입니다
그러나 Zend 및 CodeIgniter와 같은 프레임워크의 등장으로 언어가 올바른 개발 방향으로 나아가게 되었습니다. 실제로 이는 Rasmus가 보고자 했던 것과 반대 방향으로 PHP를 밀어냈습니다. Zend 및 CodeIgniter 프레임워크를 살펴보면 이 프레임워크가 잘 문서화되고 잘 작성된 코드를 갖춘 몇 안 되는 프로그램 중 하나라는 것을 알게 될 것입니다.
Ruby를 배우는 대부분의 개발자는 Rails와 MVC 지식도 배웁니다. PHP는 그 전에 10년 동안 사용되었습니다. 이번에는 자유롭게 플레이할 시간을 주지 않은 빌어먹을 루비. Rails는 기성 표준 지침을 갖추고 있으며 진입 장벽이 상대적으로 높아 경험이 부족한 일부 개발자를 차단하는 경우가 많습니다.
실제로 PHP 애플리케이션은 다른 언어와 마찬가지로 작성할 수 있으며 실행 속도에서도 일정한 이점을 갖습니다. PHP 세계에서 MVC 스타일 개발 방법이 등장한 것은 최근 몇 년 사이였습니다. 우리는 이러한 변화를 가져온 Rails에 감사해야 한다는 점을 인정해야 합니다.
그럼 오늘날 PHP는 어떤 모습일까요?
다양한 표준(통일되지는 않지만 대부분의 프로젝트가 MVC를 사용하고 정크 절차적 프로그램이 거의 없음)
낮은 진입 장벽
속도 및 가용성 확장성(PHP는 다양한 스크립팅 언어 중 최고가 됨)
좋은 단위 테스트 프레임워크를 갖춤
다양한 언어로 번역된 최고의 문서를 갖춤
또한 인터넷에서 가장 영향력 있는 웹사이트는 Facebook, Digg, Wikipedia, WordPress, Drupal 등과 같은 백엔드 언어 또는 도구로 PHP를 사용합니다. 나는 PHP에 대한 심층적인 숙달이 프로그래머에게 알려지지 않은 영역에 더 많은 문을 열어줄 것이라고 믿습니다.
위 내용에 동의하지 않는 경우 댓글을 남기거나 이메일을 보내주세요. 그렇게 생각하지 않는 이유를 듣고 싶습니다.
사실 저는 PHP 팬도 아니고 언어에 대한 감각도 없습니다. 제가 주로 PHP를 사용하는 이유는 - 짐작하셨겠지만 - 누군가가 저에게 돈을 기꺼이 지불할 의향이 있기 때문입니다. 따라서 모든 내용은 다음과 같이 요약됩니다.
소프트웨어 설계에 대해 정보를 바탕으로 결정을 내리고 싶다면 웹 애플리케이션 개발을 위한 PHP가 최선의 선택입니다.
그런데, PHP를 사용하여 다음 웹 애플리케이션을 개발하고 싶다고 확신하신다면 CodeIgniter를 사용해 보시기 바랍니다. 가볍고 단순하며 초고속 PHP 프레임워크입니다. 저는 CodeIgniter의 팬입니다.
LAMP Brothers의 원본 PHP 튜토리얼 CD/"Essential PHP in Details"를 무료로 받아보세요. 자세한 내용은 공식 웹사이트 고객 서비스에 문의하세요: http://www.lampbrother.net
PHPCMS2차 개발 http://yun.itxdl.cn/online/phpcms/index.php?u=5
WeChat 개발 http://yun.itxdl.cn/online/weixin/index.php?u=5
모바일 인터넷 서버측 개발 http://yun.itxdl.cn/online/server/index.php?u=5
자바스크립트 강좌 http://yun.itxdl.cn/online/js/index.php?u=5
CTO교육 캠프
|