PHP Annotated – June 2023

PHP Annotated 이미지

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


PHP Annotated 6월호에 오신 것을 환영합니다. 엄선된 뉴스, 기사, 도구, 동영상을 통해 지난 한 달간 PHP 커뮤니티에서 가장 흥미진진하게 발전한 내용을 요약해 보겠습니다.

Highlights

Happy 28th birthday, PHP!

6월 8일, PHP가 28살이 되었습니다! 과거를 돌아보고 싶으시다면 Rasmus Lerdorf의 PHP 최초 공개 발표를 참조하세요.

앞으로도 개발자에게 힘을 실어주고 웹 기술의 경계를 넓히는 데 기여하기를 바랍니다. 생일 축하합니다, PHP! 🎉🥳🎂

JetBrains PhpStorm 팀은 PHP 커뮤니티 회원 20명에게 가장 좋아하는 코딩 트랙의 이름을 물어보았습니다. 그 결과 PHP로 코딩하는 동안 생산성을 더욱 높일 수 있도록 맞춤화된 재생 목록이 탄생했습니다:
https://open.spotify.com/playlist/02xXEV3NPVzuhgLg4tOpVr

활기차고 다양한 PHP 커뮤니티의 증거인 이 재생 목록에는 아래와 같은 PHP의 거장들이 기여한 콘텐츠가 포함되어 있습니다,
A testament to the vibrant and diverse PHP community, this playlist features contributions from PHP greats such as Christoph Rumpel, Jordi Boggiano, James Titcumb, Matthieu Napoli, Frank de Jonge, Stephen Rees-Carter, Cal Evans, Povilas Korop, Taylor Otwell, Benjamin Eberlei, Nicolas Grekas, Eric Barnes, Ian Landsman, Derick Rethans, Caneco, Zuzana Kunckova, Brent, Tim MacDonald, Mohamed Said, and Paul Redmond.

이 기념일을 기념하기 위해 Brent는 PHP Annotated YouTube channel에서 PhpStorm Elephpant 추첨을 진행했습니다.

Celebrating 20 Years of WordPress

워드프레스 20주년 기념

28살은 아니지만, 충분히 훌륭한 성과입니다! 축하합니다!

PHP 8.3 Alpha 1 available for testing

PHP 8.3 알파 1 테스트 가능

첫 번째 알파 버전이 출시되어 PHP 8.3 릴리즈 프로세스의 시작을 알렸습니다. 업데이트는 정해진 일정에 따라 2주마다 릴리스되며 최종 릴리스는 11월 23일경에 예정되어 있습니다.

7월 18일에 기능 동결이 예정되어 있으므로 일부 변경 사항이 릴리스에 반영되지 않을 수도 있습니다. 현재 가장 주목할 만한 변경 사항은 다음과 같습니다:

모든 변경사항에 대해 자세히 알아보려면 브렌트의 What’s new in PHP 8.3를 참조하세요.

Mac을 사용하는 경우, shivammathur/homebrew-php를 통해 Nightly 채널을 통해 홈브루로 PHP 8.3을 사용해 볼 수 있습니다. 그렇지 않은 경우, 번거로움 없이 사용해 보려면 Docker 이미지가 가장 좋은 옵션일 것입니다.

  • “최신 PHP 버전은 무엇인가요?”
  • “지원되는 최신 버전은 무엇인가요?”
  • “다음 버전은 언제 출시되나요?”
  • “특정 PHP 버전은 언제 지원이 중단되나요?”

이에 대한 모든 답변은 이 PHP 문서 페이지에서 확인할 수 있습니다: https://php.net/supported-versions.php

PHP 8.1.20 and PHP 8.2.7 have been released

PHP 8.1.20PHP 8.2.7이 릴리스되었습니다.

❗ 모든 사용자는 이러한 보안 릴리스로 업데이트할 것을 강력히 권장합니다.

❗️Packagist.org maintainer account takeover

Packagist.org 관리자 계정 탈취
어떤 일이 발생했는지, 영향을 받았는지 알아보세요.

PhpStorm 2023.2 Early Access Program Is Open

PhpStorm 2023.2 미리 체험 프로그램 시작

정식 출시에 앞서 IDE에 추가된 최신 기능을 무료로 미리 사용해 보세요.

PHP가 르네상스를 맞이하고 있나요?

PHP가 “잘 작동한다”는 명성을 되찾고 있습니다. 이 언어는 더 빠르고, 더 안전하며, 더 즐겁게 사용할 수 있도록 진화하고 있습니다.

아직 PHP에 대해 회의적인 친구들과 공유할 수 있는 몇 가지 링크를 소개합니다:

ChatGPT and PHP

Frédéric BoucheryPromises RFCGenerics RFC를 예로 들어 PHP RFC 초안을 쉽게 생성하는 방법을 설명하는 동안, 다음은 PHP에서 LLM을 사용하는 것과 관련된 몇 가지 링크입니다:

PHP Core

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

📣 RFC: Property hooks

이 RFC에서 Ilija Tovillo와 Larry Garfield는 get/set 함수를 사용하여 가상 프로퍼티를 선언할 것을 제안합니다.
디자인과 구문은 Kotlin과 가장 유사하지만 C# 및 Swift의 영향을 받기도 합니다.

class User implements Named
{
private bool $isModified = false;

public function __construct(private string $first, private string $last) {}

public string $fullName {
// Override the "read" action with arbitrary logic.
get => $this->first . " " . $this->last;

// Override the "write" action with arbitrary logic.
set($value) => [$this->first, $this->last] = explode(' ', $value);
}

📣 RFC: Marking overridden methods (#[\Override])

Tim Düsterhus는 새로운 #[\Override] 어트리뷰트를 도입할 것을 제안합니다. 이 속성을 메서드에 적용하면 엔진이 부모 클래스 또는 구현된 인터페이스에 같은 이름의 메서드가 있는지 확인하라는 메시지를 표시합니다.

interface I {    public function i(): void;
}

class P {
#[\Override]
public function i(): void {} // Fatal error: P::i() has #[\Override] attribute, but no matching parent method exists
}

class C extends P implements I {} // All good 👍

📣RFC: NameOf

Robert Landers는 글로벌 nameof() 함수를 추가할 것을 제안합니다. 이 함수를 사용하면 개발자가 거의 모든 사용자 정의 변수, property, 상수 또는 멤버의 이름을 빠르고 쉽게 검색할 수 있습니다.

echo nameof($variable); // variable 
echo nameof($object->property); // property
echo nameof(Enum::Case); // Case
echo nameof(Object::Const); // Const
echo nameof(myFunction(...)); // myFunction
echo nameof(MY_CONSTANT); // MY_CONSTANT

Tools

  • wp-now - 워드프레스 엔지니어링 팀의 로컬 개발 환경.
    이 도구는 웹어셈블리를 활용하여 Node.js의 웹서버 위에서 PHP를 작동합니다. 도커 기반 환경보다 빠르며 모든 PHP 앱에서 사용할 수 있지만 DB를 실행하는 방법을 찾아야 합니다.
  • PHP Monitor 6.0 출시 - 이번 주요 업데이트에서는 새로운 PHP 버전 관리자, Valet을 설치하지 않고도 앱이 작동할 수 있는 새로운 독립형 모드 등이 도입되었습니다.
  • pmjones/AutoShel - CLI 명령 이름을 지정된 네임스페이스의 PHP 명령 클래스에 자동으로 매핑하여 해당 클래스 내의 지정된 메인 메서드에 반영하여 인수 및 옵션 값을 결정합니다. 메서드 매개변수는 스칼라 값(int, float, string, bool) 또는 배열일 수 있습니다.
  • jolicode/castor - 개발자 경험에 중점을 두고 설계된 작업 실행기 및 명령 런처로, PHP를 사용하여 구축되었습니다.
  • ProjektGopher/whisky - 팀 전체에서 PHP 프로젝트의 git hook을 관리하고 적용하기 위한 간단하고 프레임워크에 구애받지 않는 CLI 도구입니다.
  • schranz-search/schranz-search - PHP로 작성된 다양한 검색 엔진에 대한 검색 추상화. 현재 구현된 엔진으로는 Elasticsearch, Opensearch, Algolia, Meilisearch, RediSearch, Solr, Typesense 등이 있습니다.
  • TestGenAI - Rector의 저자 Tomas Votruba가 만든 PHP 코드에 대한 단위 테스트를 생성하는 도구입니다.
  • librarianphp/librarian - 휴고와 DEV에서 영감을 받아 PHP로 작성된 정적 사이트 생성기 및 마크다운 인덱서입니다. 개발 비하인드 스토리를 읽어보세요.

Symfony

Laravel

Other frameworks

기타

Conferences

오프라인 이벤트가 한창 진행 중입니다. 방문하고 발표를 신청할 만한 예정된 PHP 공연을 확인해 보세요:

  • Laracon US – Nashville, TN, USA, July 19–20, 2023.
  • CakeFest – Los Angeles, CA, USA, Sep 28–Oct 3, 2023.
  • Longhorn PHP – Austin, TX, USA, November 2-4, 2023.
  • SymfonyCon – Brussels, Belgium, December 7–8, 2023.

다음 PHP 밋업이 언제 열리는지 궁금하다면 Tomas Votruba의 멋진 밋업 애그리게이터 friendsofphp.org에서 확인할 수 있습니다. php.net - 이벤트에도 캘린더가 있습니다: 2023년 6월.