PHP Velho Oeste 2024

기타 변경사항

예약어 제약의 완화

클래스와 인터페이스 그리고 트레이트 내부에서 속성과 상수 그리고 메소드의 이름에 글로벌 예약어를 사용할 수 있게 되었습니다. 이제 앞으로 새로운 키워드가 도입 된 경우에도 하위 호환성을 유지하기 쉬워집니다. 그리고 API 명명 제약도 줄일 수 있을 것입니다.

이것은 Fluent interfaces를 이용한 내부 DSL을 만들 때 유용합니다.

<?php
// 'new', 'private', 'for'는 통상적 인 경우 사용할 수 없습니다
Project::new('Project Name')->private()->for('purpose here')->with('username here');
?>

유일한 예외는 class 키워드는 여전히 상수 이름으로 사용할 수 없습니다. 이것을 허용할 경우 클래스 이름 확인 구문(ClassName::class)과 충돌해 버리기 때문입니다.

date.timezone 경고 삭제

이전 버전에서는 INI 항목 date.timezone을 설정하지 않고 날짜 및 시간 관련 함수를 사용하려고 하면 경고가 발생했습니다. PHP 7에서는 이 경고가 발생하지 않습니다 (date.timezone의 기본은 여전히 UTC입니다).

add a note add a note

User Contributed Notes 1 note

up
0
Nicole Ama
7 years ago
Using "continue" outside of a loop or switch context throws a fatal error. Use "return" instead, if it makes sense to. Probably should have used return to begin with, but it never threw an error as of PHP 5.2. Not sure about later php 5.x versions.
To Top