PHP Annotated – September 2023

PHP Annotated 이미지

Roman Pronskiy가 쓰고 JetBrains에서 제공하는 PHP Annotated 2023년 9월호입니다.


PHP Annotated 9월호에 오신 것을 환영합니다! 엄선된 뉴스, 기사, 도구, 동영상을 통해 지난 한 달간 PHP 커뮤니티에서 가장 흥미로운 발전 사항을 요약해드립니다.

Highlights

PHP 8.0.30, PHP 8.1.22, and PHP 8.2.9 have been released

PHP 8.0.30, PHP 8.1.22PHP 8.2.9가 릴리스되었습니다.

❗보안 릴리스이며 GHSA-3qrf-m4j2-pcrr(XML에서 외부 엔티티를 활성화하지 않고 로드) 및 GHSA-jqcx-ccgc-xwhv(phar_dir_read()의 버퍼 오버플로 및 초과 읽기)에 대한 수정이 포함되어 있습니다.

아직 PHP 7.*을 사용 중이라면 Remi의 리포지토리에 백포트된 보안 수정이 포함된 업데이트가 있습니다.

PHP 8.3.0RC2 has been released

PHP 8.3.0RC2가 출시되었습니다.

두 번째 RC가 일정에 따라 제공되었습니다. 다음 릴리스는 9월 28일에 예정된 RC3이며, PHP 8.3의 자세한 기능 목록은 php.watch 또는 stitcher.io에서 확인할 수 있습니다.

RFC Vote

RFC 투표

Brent Roose가 RFC에 대한 커뮤니티 투표를 위한 프로젝트를 시작했습니다.

공식 RFC 투표는 내부 개발자로 제한되지만, RFC 투표는 모든 사람에게 목소리를 제공합니다. 이는 공식 PHP RFC 결과에 직접적인 영향을 미치지는 않지만 의사 결정 과정에 참여하는 사람들에게 귀중한 자료가 될 수 있습니다.

brendt/rfc-vote 프로젝트는 오픈소스이며, 브렌트가 유튜브의 PHP Annotated에서 개발 전 과정을 스트리밍하고 있습니다.

WordPress 6.3 “Lionel” is out

워드프레스 6.3 “라이오넬”이 출시되었습니다.

무엇보다도 성능이 크게 개선되었습니다.

PhpStorm 2023.2 Is Available and the PhpStorm 2023.3 roadmap has been released

PhpStorm 2023.2 사용 가능하고PhpStorm 2023.3 로드맵이 출시되었습니다.

The PHP Foundation is hiring PHP core developers

PHP 재단에서 PHP 코어 개발자를 채용합니다.

PHP 코어에 기여하거나 확장 프로그램을 개발한 경험이 있고 유급 오픈소스 작업을 하고 싶다면 이번 기회가 좋은 기회가 될 수 있습니다.

지원서 접수는 9월 30일까지입니다.

CakePHP 5 is out

CakePHP 5 출시

이번 릴리스에서는 프레임워크 전반에 걸쳐 향상된 타입 힌트, PHPUnit 10.x로의 업그레이드, ORM의 새로운 열거형 유형 매핑 지원, PSR17 HTTP 팩토리 지원 등을 제공합니다.

Concerns over the European Union’s Cyber Resilience Act (CRA)

유럽연합의 사이버 복원력 법(CRA)에 대한 우려

WordPress, Drupal, Joomla! 및 TYPO3 프로젝트는 유럽에서 오픈소스의 더 나은 미래를 위해 CRA를 개선하는 방법에 대한 비판과 권고 사항을 담은 공개 서한을 EU 입법자들에게 보냈습니다.

개인, 중소기업, 기관은 CRA에 따른 처벌을 우려해 막대한 행정적 부담이나 활동 위축(그리고 미국 기술 대기업으로의 쏠림 현상)으로 인해 방해를 받게 될 것입니다.

EU-CRA에 대한 가장 좋은 요약은 Apache Software Foundation의 이 블로그 게시물에서 확인할 수 있습니다.

TLDR;
오픈 소스를 포함한 소프트웨어는 전 세계적으로 규제를 받고 있습니다. 이 긴 블로그 게시물에서는 유럽 연합의 사이버 복원력법(Cyber ​​Resilience Act)의 배경, 좋은 점, 결점, 오픈 소스에 미칠 수 있는 부정적인 영향에 대해 설명합니다.

더 간단하게 정리된 한글 문서를 원하시면 유럽의회 ‘사이버복원력법(CRA)’ 수정안 개요를 읽어보세요.

PHP Core

대부분의 핵심 소식은 PHP 재단의 PHP Core Roundup series에서 자세히 다루고 있으므로 여기서는 몇 가지만 간략하게 언급하겠습니다:

📣RFC: A new JIT implementation based on IR Framework

RFC: IR 프레임워크에 기반한 새로운 JIT 구현

Dmitry Stogov가 별도로 개발된 IR 프레임워크에 기반한 새로운 JIT 구현을 제안합니다.

이 제안이 받아들여지면 일반 PHP 사용자는 성능 향상을 크게 느끼지 못할 수도 있습니다. 현재 상태의 새로운 JIT를 사용하면 PHP-Parser 및 AMPHP와 같이 CPU를 사용하는 애플리케이션의 속도가 약간 향상될 것입니다. 추가 최적화를 통해 속도가 더 빨라지겠지만 극적인 증가는 없을 것입니다.

새 엔진의 가장 큰 장점은 사용이 간편하다는 점입니다. PHP와는 별개의 컴포넌트로 개발되었기 때문에 IR 프로젝트는 PHP 외부에서 활용할 수 있습니다. 이는 잠재적으로 JIT 구현과 관련된 ‘버스 팩터’를 줄이는 데 도움이 될 수 있습니다.

📣RFC: DOM HTML5 parsing and serialization

RFC: DOM HTML5 구문 분석 및 직렬화

Niels Dossche는 DOM 확장에 두 개의 새로운 클래스를 추가할 것을 제안합니다: DOM\HTMLDocumentDOM\XMLDocument입니다.

HTMLDocument 클래스는 사양을 준수하는 HTML5 문서 구문 분석 및 직렬화에 대한 지원을 추가할 것입니다. XMLDocument 클래스는 호환성을 위해 유지되는 \DOMDocument의 최신 대안으로 사용될 것입니다. 이 새로운 클래스는 또한 문서 로딩을 위한 보다 오용을 방지할 수 있는 API를 제공할 것입니다.

전역 네임스페이스에 있는 기존 DOM 클래스는 새 DOM 네임스페이스에서 별칭을 갖게 되므로 새 구현이 기본값이 됩니다.

Who Is Behind PHP by Christoph Rumpel.

PHP의 배후는 누구인가 by Christoph Rumpel.

이 블로그 게시물에서 Christoph는 누가 투표권을 갖는지, Karma란 무엇인지, PHP에 기여자가 되는 방법 등 PHP 개발 프로세스에서 명확하지 않은 모든 종류의 사항을 명확하게 설명합니다.

Tools

  • theodo-group/LLPhant - Langchain과 LLamaIndex에서 영감을 얻은 OpenAI GPT 4를 사용하는 포괄적인 PHP 생성 AI 프레임워크입니다.
    이 프레임워크를 사용하면 한 줄로 함수를 자동으로 정의하고 OpenAI가 응답에서 그렇게 말하면 함수를 실행할 수 있습니다.

    더 많은 예제는 이 블로그 게시물에서 확인할 수 있습니다: https://blog.theodo.com/2023/08/qdrant-llphant-generative-ai-php/. 또한 PHP로 AutoGPT 클론을 만들 수도 있습니다:
  • emreyarligan/enum-concern – 라라벨 컬렉션으로 손쉽게 열거를 처리할 수 있는 패키지입니다.

  • hyperf/hyperf – 초고속과 유연성에 중점을 둔 Swoole 기반 코루틴 프레임워크입니다.

  • loupe-php/loupe – 토큰화, stemming(어간추출), 오타 허용, 필터 및 지역 지원 기능을 갖춘 PHP와 SQLite만을 기반으로 하는 전체 텍스트 검색 엔진입니다.

  • TomasVotruba/lines – 어디서나 실행 가능한 CLI 도구로 PHP 프로젝트의 규모를 빠르게 측정할 수 있습니다.

  • Chemaclass/bashunit – bash 스크립트를 위한 최소한의 테스트 라이브러리입니다.

  • laminas/laminas-text – 멋진 아스키 텍스트 배너를 원하셨나요?

    $figlet = new Laminas\Text\Figlet\Figlet();
    echo $figlet->render('PHP Rocks');
  • espocrm/espocrm – PHP로 구축된 성숙한 오픈소스 CRM입니다.

  • Can I PHP? – 특정 기능을 도입한 PHP 버전을 빠르게 확인할 수 있습니다.

Symfony

Laravel

기타

Fun

  • 디스크 조각 모음기 스타일의 PHPUnit 출력:

  • phpgl/flappyphpant – PHP로 작성되고 PHP-GLFW 및 VISU 프레임워크를 기반으로 하는 간단한 플래피 버드와 유사한 게임입니다. flappyphpant gif

  • A love snippet from Frédéric Bouchery:

    <?php for ($y = 15; $y >= -15; $y--) {
    for ($x = -30; $x < 30; $x++) {
    echo (
    pow(pow($x*0.05, 2)+pow($y*0.1, 2)-1, 3)-
    pow($x*0.05, 2)*pow(($y*0.1), 3) <= 0
    ) ? 'LovePHP!'[($x - $y) % 8]:' ';
    }
    echo "\n";
    }
              P!LovePHP           vePHP!Lov               
    ePHP!LovePHP!Love !LovePHP!LovePHP!
    vePHP!LovePHP!LovePHP!LovePHP!LovePHP!Lov
    vePHP!LovePHP!LovePHP!LovePHP!LovePHP!LoveP
    vePHP!LovePHP!LovePHP!LovePHP!LovePHP!LovePHP
    ePHP!LovePHP!LovePHP!LovePHP!LovePHP!LovePHP!
    PHP!LovePHP!LovePHP!LovePHP!LovePHP!LovePHP!L
    HP!LovePHP!LovePHP!LovePHP!LovePHP!LovePHP!Lo
    P!LovePHP!LovePHP!LovePHP!LovePHP!LovePHP!Lov
    !LovePHP!LovePHP!LovePHP!LovePHP!LovePHP!Love
    ovePHP!LovePHP!LovePHP!LovePHP!LovePHP!Love
    ePHP!LovePHP!LovePHP!LovePHP!LovePHP!Love
    PHP!LovePHP!LovePHP!LovePHP!LovePHP!LoveP
    !LovePHP!LovePHP!LovePHP!LovePHP!Love
    ovePHP!LovePHP!LovePHP!LovePHP!Love
    ePHP!LovePHP!LovePHP!LovePHP!Love
    P!LovePHP!LovePHP!LovePHP!Lov
    ovePHP!LovePHP!LovePHP!Lo
    PHP!LovePHP!LovePHP!L
    LovePHP!LovePHP
    PHP!LoveP
    Lov
    v

Conferences

  • Longhorn PHP – Austin, TX, USA, November 2–4, 2023.
  • Laracon AU – Sydney, Australia, November 16–17, 2023.
  • PHPCon Poland – Zawiercie, Poland, November 17–18, 2023.
  • SymfonyCon – Brussels, Belgium, December 7–8, 2023.
  • Laracon EU – Amsterdam, The Netherlands, Feb 5-6, 2024. CFP 🆕
  • PHP UK – London, UK, February 15–16, 2024. CFP
  • PHP[TEK] 2024 – Chicago, IL, USA, April 23–25, 2024. CFP 🆕