>헤드라인 >2019년에도 PHP를 계속 사용하는 이유는 무엇입니까?

2019년에도 PHP를 계속 사용하는 이유는 무엇입니까?

不言
不言앞으로
2019-03-06 13:33:447192검색

본론으로 가서 PHP는 이상한 언어라고 말해봅시다. 빠르지도 않고 구문적으로 아름답지도 않습니다. 좋은 소프트웨어 개발 관행도 따르지 않습니다. 하지만 나는 아직도 그것을 이용해 많은 소프트웨어를 개발하고 있다. 그렇다면 질문은 분명해집니다. 오늘날에도 여전히 PHP가 사용되는 이유는 무엇입니까?

개인적인 이상주의적 취향 외에도 많은 이유가 있습니다. 이것이 우리의 논의 범위입니다. 웹 개발 언어로 PHP를 선택하는 이유는 무엇입니까?

PHP란 무엇인가요?

"PHP는 무엇을 뜻하나요?" 또는 "PHP가 무엇인가요?"라고 물어보세요. PHP는 웹 페이지를 작성하기 위한 언어이며 HTML 태그 구문을 사용하여 코드를 래핑합니다. PHP는 일반적으로 서버 측에서 실행되고 웹 서버와 함께 작동하며 HTML을 처리하고 방문자에게 반환하는 역할을 담당합니다.

PHP는 원래 "개인 홈 페이지"를 의미했습니다. 이는 일반적인 용도로 언어를 사용하는 것의 의미와 바람직성을 완전히 제한하기 때문에 이제 이 언어는 "PHP: Hypertext Preprocessor"를 의미합니다. 이러한 작성 방식을 재귀적 약어(전체 이름으로 자신을 지칭하는 약어)라고 합니다. 괴짜들은 이런 이름을 좋아합니다.

PHP는 무엇을 할 수 있나요?

PHP은 무엇에 사용될 수 있나요? 일반적으로 PHP는 웹 서버에서 구현하려는 모든 작업을 수행할 수 있습니다. 예를 들어, 블로그를 만드세요. SAAS 애플리케이션을 구현하는 것도 매우 쉽습니다. 데이터를 임시로 처리하는 스크립트를 작성하는 것도 편리합니다. 아니면 어느 날 갑자기 성공적인 소프트웨어 비즈니스로 변하는 복잡한 스크립트를 작성하시겠습니까? 과거에는 그런 일이 많이 일어났습니다.

제 말을 믿을 수 없다면 PHP 공식 웹사이트에서 사용 시나리오 목록을 확인하실 수 있습니다.

서버측 스크립트

명령줄 스크립트

데스크톱 애플리케이션 작성

저는 권장하지 않습니다. 마지막이지만 가능합니다. 하지만 처음 두 가지는 정말 좋은 이유입니다.

이것은 중요하고 피할 수 없는 사실로 이어집니다...

PHP는 어디에나 있습니다.

PHP를 알고 사랑하는 데는 여러 가지 이유가 있으며 아마도 가장 강력하고 효과적인 이유는 다음과 같습니다. 네트워크 어디에서나 사용하고 실행할 수 있습니다. 주의 깊게 살펴보면 Python 또는 Ruby 웹 애플리케이션을 실행할 수 있는 호스팅 계정을 월 3달러 정도에 구입할 수 있습니다. 하지만 확실히 PHP를 실행할 수 있습니다. 이는 항상 PHP에 의존할 수 있음을 의미합니다.

PHP는 어디에서나 실행될 수 있고 사용하기 쉽기 때문에 널리 사용되는 많은 소프트웨어가 PHP로 작성되었습니다. WordPress는 나에게 가장 영향력 있고 친숙한 예입니다. Joomla, Drupal, Magento, ExpressionEngine, vBulletin(예, 여전히 존재합니다), MediaWiki 등과 같은 도구 외에도 모두 서버에서 PHP를 실행합니다.

그뿐만 아니라 Symfony, Zend, Laravel, Aura, CakePHP, Yii 및 고대 CodeIgnitor 프레임워크와 같은 수많은 PHP 애플리케이션 프레임워크가 있습니다. 물론 다른 언어에 대해서도 비슷한 긴 웹 프레임워크 목록을 만들 수 있습니다. 예를 들어 Python, Ruby 또는 Node/JavaScript와 같은 일반적인 웹 언어는 숫자로 된 경쟁 목록을 축적하여 PHP와 비교할 수도 있습니다. 그러나 PHP를 실행하는 웹사이트의 수는 압도적입니다.

WordPress는 인터넷 사용자의 30%를 보유하고 있다고 자랑스럽게 주장합니다. 비록 이 말이 사실일지라도 많은 인터넷 응용 프로그램이 PHP를 사용해야 한다는 사실을 깨닫기 위해 이 말을 믿을 필요조차 없습니다.

PHP의 장점

동적 기능

PHP와 HTML은 매우 조화롭게 함께 작동할 수 있습니다. file.html을 file.php로 수정하면 태그에 PHP 코드를 작성할 수 있으며 대부분의 웹 서버의 기본 구성은 PHP 스크립트를 직접 실행하는 것입니다. 바로 임계값이 매우 낮기 때문에 많은 프로그래밍 지식이 필요하지 않은 초보 프로그래머가 바로 시작할 수 있어 품질이 낮은 코드가 많이 발생하는 것입니다.

학습의 용이성 때문에 수많은 초보 프로그래머들이 쏟아져 들어왔고, 이로 인해 PHP가 비판을 받아온 또 다른 문제가 드러났습니다. PHP는 최고의 웹 서버 측 언어가 되겠다는 명확한 비전을 가지고 있지 않습니다. 그럴 생각은 없습니다. 훌륭한 디자인입니다. 이는 전 세계의 느슨한 협업, 기여된 코드와 아이디어의 뒤죽박죽, 필연적으로 일부 나쁜 아이디어가 스며드는 또 다른 결과로 이어졌습니다.

강력한 객체 지향 패키지 관리는 이제 PHP의 표준입니다

Composer는 PHP의 장점입니다.

PHP를 개발하다 보면 이상한 것들이 자주 출시됩니다. 가장 유명한 예는 PHP 5.3(최초의 최신 PHP 버전으로 널리 간주됨)에 goto 문을 도입한 것입니다.

PHP가 성장하는 동안 비슷한 문제가 발생했습니다. 객체 지향은 처음에는 결함이 있고 제한적인 개념으로 구현되었으며, 표준 라이브러리는 일관되지 않은 이름과 매개변수 순서로 채워졌고, (최근 주목받는 Chestnut을 인용하자면) PHP 5.3에서는 :: 연산자가 인식되지 않으면 구문 분석기는 구문 오류(T_PAAMAYIM_NEKUDOTAYIM)라는 매우 읽기 쉬운 오류 메시지를 표시합니다. 설명서를 읽지 않으면 이 T_PAAMAYIM_NEKUDOTAYIM 표시의 의미를 영어로 이해할 수 있습니다.

하지만 이제 PHP는 OOP를 완벽하게 지원합니다. PHP처럼 Java와 유사한 OOP 구현을 갖춘 언어는 거의 없습니다. 또한 Java와 달리 PHP에는 Composer라는 별도의 널리 지원되는 패키지 관리자가 있습니다. 사용하기가 매우 쉽고, 한 가지 무시할 수 없는 점은 고품질의 잘 관리된 라이브러리를 쉽게 참조할 수 있어 사용하기가 매우 쉽다는 것입니다.

PHP의 급속한 발전

이를 통해 PHP가 흥미롭게 발전하고 있음을 알 수 있습니다. 좋건 나쁘건 간에 점차적으로 Java와 같은 완전한 기능을 갖춘 객체지향 언어가 되어가고 있으며, 현재 핫스팟이라고 할 수 있는 함수형 프로그래밍을 위한 간단한 추상화를 제공하고 있습니다. 그리고 정말 훌륭한 도구 세트가 개발되고 있으며 PHP는 Composer를 좋아합니다. 이유는 Composer가 대규모 오픈 소스 프로젝트에서 함께 작업하는 훌륭한 작업을 수행했기 때문입니다.

물론 잊어서는 안 됩니다. 현재 인기 주제: PHP7 시리즈의 PHP 개발로 속도가 향상되었습니다. 이는 Facbook의 HHVM 등장으로 인해 발생한다고 널리 알려져 있었습니다. 짧은 시간 내에 HHVM이 PHP 커뮤니티를 파괴할 만큼 빠른 속도로 발전할 위험이 있었지만, 오히려 PHP는 그렇지 않았습니다. 사람들이 HHVM의 존재를 거의 잊어버릴 정도로 훨씬 빠른 속도로 성장했습니다.

PHP에는 초보자 친화적인 대규모 커뮤니티가 있습니다.

어떤 멋진 신기술을 사용할지 결정한다면, 언어를 받아들이는 방식이 별 관심을 끌지 못하는 경우가 많습니다. PHP를 배우는 것은 어떤가요? PHP 튜토리얼은 찾기 쉽고 일반적으로 품질이 좋습니다.

PHP의 인기에 대한 한 가지 단점은 도구에 대해 충분히 알지 못하는 사람들로부터 좋지 않은 지침을 받게 된다는 것입니다. 또는 누군가로부터 배운 "모범 사례"는 10년 전이었습니다. 그러나 전반적으로 그런 경우는 드물기 때문에 낙담할 필요는 없다고 생각합니다. 또는 몇 달 동안 사용해 온 모범 사례가 최고가 아니라는 사실을 갑자기 발견하는 경우도 드물고 큰 문제도 아닙니다.

PHP와 다른 언어의 비교

다음으로 PHP를 다른 언어와 비교할 것입니다. 이러한 언어는 다음 요구 사항을 충족해야 합니다.

오픈 소스: 기본 언어를 자유롭게 사용하거나 볼 수 있음을 의미합니다. 무료 또는 웹 개발 분야에 적용되는 프로그램: 반드시 웹 개발에 중점을 둘 필요는 없지만 웹 개발에 비교적 큰 응용 프로그램이 있습니다. 동적 언어의 특성을 가지며 대부분의 웹용 언어입니다. 애플리케이션에는 다음과 같은 특징이 있습니다. 충분히 큰 커뮤니티: 위의 조건을 충족하지만 작은 범위에서만 사용되는 언어가 많이 있습니다.

PHP를 사용하는 이유는 무엇인가요? JavaScript 대신?

PHP와 비교할 때 가장 중요한 언어는 아마도 JavaScript일 것입니다. 현대 개발에서는 모든 프로젝트가 클라이언트 측 개발 및 상호 작용을 위해 최소한 약간의 JavaScript를 알아야 합니다. Node를 사용하면 서버에서 JS를 비교적 간단하게 사용할 수 있습니다. 서버와 클라이언트에서 동일한 언어를 "동형적으로" 사용하는 것은 매우 매력적입니다.

PHP와 마찬가지로 JavaScript는 절충적이지만 때로는 많은 결점과 "문제점"이 있는 보기 흉한 언어입니다. 그러나 JavaScript는 지난 10년 동안 매우 빠르게 발전했으므로 이는 사실입니다. JavaScript 대신 PHP를 선택하는 이유는 무엇입니까? 당신은 이미 PHP에 대한 전문 지식을 갖고 있거나 라이브러리를 사용하고 있습니다. 그렇지 않으면 JavaScript가 더 나은 선택이 될 수 있다고 생각합니다.

PHP와 동적 서버 페이지(.Net Core)

동적 서버 언어는 네티즌 프로그래밍에 사용되는 Microsoft 언어에서 유래되었습니다. 이는 PHP와 매우 직접적으로 유사합니다. 하지만 Windows 서버 환경에서 실행됩니다. 이는 ASP.net으로 대체되었습니다. 이제 ASP.NET Core로 대체되었습니다. 후자의 두 가지는 이제 PHP와 같은 오픈 소스 언어입니다. 그리고 저는 개인적으로 어떤 변형으로도 약간의 ASP를 작성한 적이 없습니다.

Microsoft 서버를 사용하고 선호한다면 ASP를 선호합니다. 그렇지 않으면 PHP를 주세요. 두 커뮤니티의 규모와 크기는 비교할 수 없습니다.

Ruby를 사용해야 하나요, 아니면 PHP를 사용해야 하나요?

Ruby, 특히 Ruby on Rails는 지난 10년 동안 매우 인기가 있었습니다. Ruby는 여전히 많은 사랑을 받는 언어이며 제 생각에는 PHP보다 더 우아합니다. 즉, 그의 커뮤니티는 더 작습니다. 동시에 나는 Ruby가 더 이상 "인기 언어"가 아니라는 것을 깨달았습니다(이 역할은 JavaScript가 대신했습니다). 루비는 우아하고 많은 사람들이 루비를 잘 사용하기 때문에 나는 그것을 피하지 않을 것입니다. 하지만 이미 Ruby에 익숙한 사람들을 채용하는 것은 PHP를 채용하는 것보다 여전히 어렵습니다. (비록 일반 Ruby 개발자가 같은 PHP 개발자보다 낫다고 생각합니다.)

Python vs PHP: 누가 더 낫나요?

PHP와 의미 있는 일대일 비교를 하는 마지막 것은 Python 입니다. Python은 웹 개발(특히 데이터 통계 및 분석)에 중점을 둔 PHP보다 더 많은 사용 시나리오를 가지고 있습니다. 그리고 사람들은 일반적으로 그것이 더 안정적이고 우아한 언어라고 느낍니다.

Ruby 및 JavaScript와 마찬가지로 Python은 PHP보다 서버에서 실행하기가 약간 더 번거롭습니다. 하지만 매우 완벽한 언어이고 PHP보다 용도가 더 다양합니다. PHP보다 더 인기 있는 언어 중 하나라고 생각하며, 다른 측면(예: 다양한 타사 라이브러리, 전문 기술)도 있습니다. 지식습득, 채용, 취업활동)은 모두 같습니다.

PHP와 Go 언어? 스칼라 언어? 자바 언어? 잠깐

처음에 언급했듯이 많은 언어는 비교할 때 어느 정도 유사점이 있습니다. 비교에 사용할 수 있는 언어가 ​​​​많기 때문에 몇 가지에 대해 간략하게 이야기하겠습니다.

java 은 매우 인기가 있고 매우 효율적입니다. 일반적으로 Android 애플리케이션, 데스크톱 애플리케이션 및 웹 애플리케이션을 구축하는 데 사용됩니다. 그러나 동적으로 유형이 지정되지 않아 더 나은 성능이 보장되지만 웹 프로그래밍에 적합합니다.

Go 은 Google에서 지원하는 새롭게 개발 중인 언어입니다. 웹 서비스에 중점을 두고 있습니다. 하지만 이 영역은 여전히 ​​PHP(C 언어에 가깝습니다)에 비해 몇 가지 단점이 있습니다. 실행 속도는 빠르지만 커뮤니티가 상대적으로 제한되어 있습니다.

Scala는 인기가 높아지고 있는 인메모리(Java 호환) 언어입니다. PHP보다 더 우아하게 디자인되었지만 그 외에는 별다른 기능이 없는 것 같습니다.

또한 이러한 분석은 선택하기에 충분하다고 생각하지만 고려해야 할 옵션이 더 많지만 결국 내 대안은 PHP를 고려하는 것입니다.

필요에 따라 프로그래밍 언어를 선택해야 합니다

위의 비교에서 PHP를 사용해야 하는 이유는 무엇입니까? 위에서 PHP의 몇 가지 나쁜 디자인을 언급했는데 그 중 일부는 자주 경험합니다. 예를 들어 "유형 함수 찾기"에서 이러한 함수의 순서는 코드 완성이 없는 환경에서 일관성이 없습니다. 구덩이에 빠지다.

새로운 웹 프로젝트를 구축하고 있고 이 프로젝트가 다른 시스템과 상호 작용할 필요가 없고 작업하는 유일한 사람이라면 Python 같은 다른 언어를 사용해 보고 싶을 것입니다. 하지만 알아야 할 것은 이런 프로젝트에서도 PHP를 선택해야 할 이유가 많다는 것입니다.

모든 현대 언어를 사용하면 웹 앱을 구축할 수 있습니다. PHP와 같이 모든 언어에는 단점이 있습니다. PHP는 프로젝트에서 해당 언어를 사용할지 여부를 결정하기 전에 해당 단점을 명확하게 이해해야 합니다. 하지만 저는 Keith Adams가 연설에서 다음과 같이 언급했듯이 웹 프로젝트를 구축하기 위해 여전히 PHP를 선택할 것입니다.

PHP의 개발 효율성은 실제로 그리 높지 않습니다.

Python 팀이 있다면 Python을 사용하세요. Java에 익숙한 파트너가 있는 경우 Java를 사용하여 SaaS 프로그램을 작성하세요. 언어는 결코 가장 중요한 것이 아닙니다.

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제