PHP 8.2: 새로운 기능은 무엇인가요?
PHP의 새 버전이 곧 출시됩니다. 새롭게 구현된 기능에는 어떤 것들이 있나요? 이 글을 통해 알아보세요!
다음 문서에서는 Symfony Polyfill의 작동 방식과 Symfony 프로젝트와의 관계에 대해 설명합니다. 또한 이 라이브러리가 해결하고자 하는 아이디어에 대해서도 자세히 살펴보겠습니다.
대부분의 현대 PHP 프로젝트에 대한 의존도가 높다는 것을 알 수 있습니다. 심포니 폴리필 라이브러리입니다. 이 문서에서는 작동 방식뿐만 아니라 다음과 어떤 관련이 있는지 설명합니다. Symfony 프로젝트가 해결하고자 하는 문제에 대한 아이디어에 대해서도 자세히 살펴볼 것입니다.
PHP 는 꽤 오랫동안 좋지 않은 상태였습니다. 안드레이 즈미에브스키가 2005년에 프로젝트 에 대한 네이티브 유니코드 지원을 제공하기 위해 PHP 에 대한 엇갈린 평가와 많은 우려로 인해 PHP 가 잘못된 방향으로 가고 있습니다. 개발 PHP 6.x가 시작되었습니다. 하지만 이 작업은 결코 끝나지 않았고, 이는 다른 날의 이야기입니다. 10년 후인 2014년과 2015년 사이, Dmitry Stogov, Xinchen Hui, Nikita Popov는 다음과 같이 시작했습니다. phpng
- 에서 사용하는 내부 Zend 엔진을 최적화하고 리팩토링한 프로젝트입니다. PHP.
그리고 지난 몇 년 동안, PHP 는 현재 안정적인 버전 8.1로 그 어느 때보다 빠르게 성장하고 있습니다.
언어의 새로운 기능이 빠르게 개발됨에 따라 개발자뿐만 아니라 인프라 및 호스팅 서비스 제공업체도 이러한 변화에 적응해야 했습니다.
개발자들이 사랑받는 프로그래밍 언어의 최신 및 최고의 기능을 사용할 수 있도록 보장합니다. 심포니 폴리필 프로젝트가 탄생했습니다.
이 프로젝트는 최신 버전의 기능을 백포트합니다. PHP 버전 의 일부 확장 및 기능에 대한 호환성 레이어를 제공합니다. 이 레이어는 다음과 같은 경우에 사용하기 위한 것입니다. PHP 버전 및 확장이 필요합니다.
이것은 순수한 설명입니다. 심포니 폴리필 하지만 그게 무슨 뜻일까요?
빠르게 진화하는 PHP 언어 그리고 ISP의 시대에 뒤떨어진 소프트웨어 커스터마이징으로 인해 대부분의 개발자는 간단한 선택에 직면해 있습니다:
하지만 이미 사용 중인 다른 도구 및 서비스와의 호환성을 유지해야 했습니다. 코드 및 인프라 측면 - 거의 항상 이전 버전의 PHP독자 여러분, 이 두 가지 솔루션의 소위 '재미 요소'에 대해 언급해야 할까요?
2015년 오픈소스 커뮤니티는 개발자들의 편의를 위해 다음과 같이 만들었습니다. 폴리필의 첫 번째 안정 버전은 1.0입니다.. 개발자의 삶은 더 쉬워졌고 Symfony Polyfill은 서로 다른 플랫폼 간의 코드 이식성과 같은 여러 문제를 해결했다고 말할 수 있습니다, PHP 버전 차이점을 파악하고 애플리케이션을 리팩토링하고 기술 부채를 훨씬 쉽게 줄일 수 있었습니다.
안타깝게도 하나의 도구로 모든 문제를 해결할 수 있는 것은 아닙니다.
복잡한 경우 IT 프로젝트고객/지사/부서별로 서로 다른 버전의 환경을 유지하는 것은 일반적인 절차입니다. 따라서 기능 요구 사항이 서로 다르고 각기 다른 견인력을 가진 여러 가지 애플리케이션 브랜치를 동시에 개발해야 하는 경우가 많습니다. 저는 서로 다른 PHP5 / PHP7 환경에서 서로 다른 클라이언트를 위해 동일한 애플리케이션을 유지해야 하는 문제에 여러 번 직면했으며, 라이브러리의 비호환성 또는 버전에 따른 종속성과 관련된 여러 가지 문제는 단순히 심포니 폴리필.
에 내장된 기능의 급속한 성장으로 인해 PHP많은 개발자가 변화의 속도를 따라잡지 못했습니다. 상위 버전에서 제공되는 많은 기능은 PHP 를 외부 라이브러리로 쉽게 구현할 수 있거나 개발자가 다음과 같은 새로운 기능이 필요하지 않았기 때문입니다. PHP 파이버. 를 선택할 때 팀 멤버의 스킬이 일치하는지, 정적 분석 도구와 버전 회귀 오류의 조기 발견을 통해 코드 전달 프로세스를 보다 일관성 있게 만드는지 확인하는 것이 좋습니다.
새로운 언어 기능의 채택률은 여전히 상당히 낮으며 PHP 5의 24% 이상의 점유율은 다음과 같이 명확하게 보여줍니다. PHP 프로젝트의 1/4이 7.x보다 낮은 버전을 실행 중입니다.는 2022년 12월 6일에 보안 지원이 종료될 예정입니다. 즉, 이 글을 작성하는 시점에 25% 기반 웹 프로젝트 중 56% 이상이 연말까지 모든 새로운 보안 취약점에 잠재적으로 노출될 수 있다는 뜻입니다. "작동하는데 왜 신경 쓸 필요가 있나"?
가능한 한 빨리 언어 변경에 적응하고 최신 솔루션을 최대한 빨리 사용해야 합니다. 레거시 프로젝트를 마이그레이션하는 동안 다음을 포함하는 것이 좋습니다. 심포니 폴리필 를 도우미로 사용하고 스트랭글러 패턴과 현재 유행하는 BDD 방법론과 같은 기법을 사용합니다. Symfony 프레임워크. 그렇다면 정말 심포니 폴리필?
자세히 읽어보세요: