PHP 8.2: 새로운 기능은 무엇인가요?
PHP의 새 버전이 곧 출시됩니다. 새롭게 구현된 기능에는 어떤 것들이 있나요? 이 글을 통해 알아보세요!
PHP 개발자로서 저는 PHP5의 첫 번째(선택 사항!) GC 구현인 PHP4 시절을 아직도 기억하고 있으며, PHP7의 출현과 그 파급 효과에 대한 '과대 광고'를 경험했습니다.
수년 동안 많은 사람들이 저에게 왜 이런 질문을 하곤 합니다. 프로그래밍 PHP그리고 수년 동안 다음과 같은 언어로 상용 소프트웨어를 작성하는 것을 중단하고 시작해야 하는 두 가지 반복되는 주장을 만트라처럼 들었습니다. Java 또는 C#.
오늘 저는 이러한 주장을 인용하고 다음과 같은 태도를 바꾸려고 합니다. PHP 조금이라도 말이죠. 예, 이 글의 제목은 터무니없는 클릭 미끼입니다.
PHP 는 해마다 죽어가고 있습니다. 한때 가장 인기 있었던 웹 언어는 이제 매달 그 인기를 잃어가고 있습니다. JavaScript.
수치를 살펴보면 진실은 냉정합니다! 지난 한 해 동안 PHP 는 웹의 백엔드 언어로서 점유율이 무려 1.61%p61t나 감소했습니다.
만약 PHP 18년 동안 이러한 하락 추세를 이어가고 있습니다. PHP 백엔드 웹 기술의 50% 아래로 떨어질 것입니다!
하지만 농담은 제쳐두고, 숫자는 실제입니다. W3CTechs의 보고에 따르면.
첫 번째 언급은 PHP 는 2013년부터 웹에서 찾아볼 수 있었습니다. 당시에는 소프트웨어 건슬링거 기사를 게시했습니다. (제가 강력히 추천합니다!) PHP는 오래 지속되는 프로세스를 지원하지 않고 비동기성이 부족하기 때문에 죽게 될 것이라고 말합니다.
그리고 그것은 사실입니다, PHP 는 그런 용도로 만들어지지 않았습니다!
망치만 있으면 모든 것이 못처럼 보입니다.
다시 숫자로 돌아가서 작년의 다음과 같은 데이터를 살펴보겠습니다. PHP 패키지에 사용되는 버전입니다. 최신 데이터는 소스 사이트에서 확인할 수 있습니다. packagist.org
이것이 죽어가는 프로그래밍 언어의 새 버전에 대한 채택 곡선일까요?
그래도 충분하지 않다면 다른 언어와 비교하여 "PHP 사망률"을 확인해 보세요.
분석용 데이터는 다음에서 가져옵니다.GitHut 2.0를 입력하면 다음과 같은 차트가 생성됩니다. git push
"꺾은선형 차트의 언어 비율 분포는 2012년 2분기 이후 상위 10개(또는 수동으로 선택한) 언어를 나타냅니다."
보시다시피 PHP 뿐만 아니라 루비, C/C++와 같은 다른 인기 언어도 지원합니다, Python 는 최근 몇 년간 깃허브에서 인기가 크게 떨어졌지만, 상승 추세를 보이고 있으며 횡보 기간이 길어지면 다시 높은 순위로 돌아올 것으로 예상합니다. (이는 투자 조언이 아닙니다)
이니셜 hype
는 같은 차트에서 볼 수 있습니다. 결론과 분석은 독자 여러분께 맡기겠습니다.
하지만 다시 말하지만, 죽어가는 언어가 프로그래머의 일자리를 늘리는 경향이 있어서는 안 되겠죠?
이 기사를 작성하는 현재, 다음 주요 취업 포털 중 하나에서 171개의 채용 공고 중에서 선택할 수 있습니다. 폴란드이 중 50개는 주니어를 위한 것입니다. PHP 죽어가고 있죠?
돈 얘기가 나와서 말인데... 알고 계셨나요? PHP 및 그 소스 코드 는 2021년 11월부터 독립적인 오픈 소스 커뮤니티PHP 재단 어느 상당한 돈을 지불합니다. 에 기여한 오픈소스 개발자에게 다음과 같이 감사드립니다. php-src
?
대기업이 소유하는 경우가 많은 다른 언어 및 프레임워크와 달리, 핵심적인 개발 팀 는 재단의 계좌에서 직접 지급되며, 재단의 계좌는 JetBrains 및 Symfony Corp와 같은 민간 기업의 기부금으로 운영되고 있습니다.개별 개발자들의 작은 기여.
오픈소스의 모든 영광!
예, 이러한 주장은 항상 비슷한 유형의 강력한 언어에 익숙해진 개발자의 입에서 나옵니다.
기간 동안 수집된 데이터의 그래프를 보면스택오버플로 설문조사 의 응답자 10,834명 중 약 601%에 해당하는 61명이 PHP가 '끔찍하다'고 답한 것을 확인할 수 있습니다.
구식 PHP 프로그래머왜 그런지 이해합니다. 메모리 문제의 전형적인 예가 바로 떠오릅니다. PHP:
<?php
클래스 FOO {
public $f;
}
클래스 BAR {
public $f;
}
while(1) {
$a = new FOO();
$b = new BAR();
$a->f = $b;
$b->f = $a;
인쇄 "메모리 사용량: " . number_format(memory_get_usage(true)) . " bytesn";
unset($a);
unset($b);
}
잘 모르시는 분들을 위해 말씀드리자면, 위의 코드는 메모리 오류를 일으킵니다. 그리고 더 있습니다. 메서드의 어리석은 이름 지정과 매개변수 순서에 대한 논리의 완전한 부족(예, 우리 모두는 str_
그리고 array_
)에서 PHP의 가장 유명한 버그까지 티파마임_네쿠도타이임
- PHP는 이전 버전의 단점과 악재로 가득합니다. 그렇다고 해서 PHP 는 몇 년 전에도 여전히 유효합니다. 이 언어는 엄청난 변화를 겪었고 오늘 저는 제 객체 정의를 살펴볼 수 있게 되어 기쁩니다:
읽기 전용 클래스 NotificationEvent
{
공용 함수 __construct(
공용 문자열 $context,
public User $user,
public string $body,
public DateTime $issuedAt,
) {}
}
또한 PHP 에코시스템 는 엄청나게 성장해왔으며, 이제 우리는 잘 작성되고 잘 테스트된 좋은 코드를 만들 수 있는 놀라운 기회를 갖게 되었습니다. 우리는 다음을 사용할 수 있습니다. Symfony DDD 애플리케이션 개발 를 큰 문제 없이 사용할 수 있으며, 메시지 버스를 사용하여 PHP의 동기화 문제를 해결할 수 있습니다.
그리고 저 자신은 PHP 는 수명이 긴 백엔드 프로세스를 만드는 데 적합하며 상태 동기화와 관련하여 큰 성능 문제가 있습니다.PHP 콘솔 게임을 만들었습니다. 심포니 + 도커를 직접 사용해 PHP가 여전히 색다른 용도로 활용될 수 있다는 것을 보여드렸습니다.
또 다른 PHP의 장점 의 가장 큰 장점은 신규 개발자를 위한 진입 장벽이 낮다는 점입니다. 널리 사용되는 두 가지 프레임워크인 Symfony와Laravel 그리고 PHP 문서만으로도 백엔드 세계로 들어가기에 충분합니다. PHP에서 완벽하지는 않지만 많은 것을 허용하는 세계. Laravel Nova와 같은 추가 라이브러리를 사용하면 명령어 두 개만으로 시스템의 거의 모든 구성 요소를 만들 수 있습니다.
Is PHP 죽어가고 있나요?
아니요, 하지만 이미지 문제가 있고 이를 개선하기 위해 많은 노력이 필요합니다. 우리 프로그래머들은 새로운 세대를 가르치고 기사, 라이브러리 및 팁의 형태로 모범 사례를 전달함으로써 이 작업을 수행해야 합니다.
언어로서 시장 20년이 넘는 기간 동안 이미 한 번 이상 hype
(Objective-C를 기억하시나요?) 틈새를 찾아서 대응할 것이라고 생각합니다.
그리고 제 예측이 맞을 수도 있고, 2년 후에 PHP 10.x가 다시 붐을 일으킬 수도 있을까요?