훌륭해요!
정답률 90%
문제별 결과
PHP에서 Late Static Binding을 위해 static:: 키워드를 사용한다.
static::은 실제 호출된 클래스를 참조합니다. self::과 달리 상속 시 자식 클래스를 올바르게 참조합니다.
PHP에서 ctype_alpha()는 유니코드 알파벳 문자도 인식한다.
ctype_alpha()는 ASCII 알파벳(A-Z, a-z)만 인식합니다. 한글이나 악센트 문자는 false를 반환합니다.
PHP에서 ErrorException은 PHP 에러를 예외로 변환하는 데 사용된다.
set_error_handler()에서 throw new ErrorException($errstr, 0, $errno);로 에러를 예외로 변환하여 try-catch로 처리할 수 있습니다.
PHP에서 비교 연산자 <> 와 !=는 동일한 기능을 한다.
<>와 !=는 모두 "같지 않음"을 의미하는 동등 비교 연산자입니다. !==는 엄격 비교입니다.
PHP에서 openssl_encrypt()로 데이터를 대칭 암호화할 수 있다.
openssl_encrypt($data, "aes-256-cbc", $key, 0, $iv)로 AES 암호화를 수행합니다. openssl_decrypt()로 복호화합니다.
PHP에서 serialize()된 사용자 입력을 unserialize()하면 보안 위험이 있다.
신뢰할 수 없는 데이터를 unserialize()하면 객체 인젝션 공격이 가능합니다. json_decode()를 사용하는 것이 안전합니다.
PHP에서 작은따옴표 문자열이 큰따옴표 문자열보다 항상 빠르다.
현대 PHP에서는 OPcache로 인해 성능 차이가 거의 없습니다. 변수 해석이 필요 없으면 작은따옴표가 의도를 명확히 합니다.
PHP 8.0에서 생성자 프로모션(Constructor Promotion)을 지원한다.
__construct(public string $name, protected int $age)처럼 생성자 매개변수에서 바로 프로퍼티를 선언할 수 있습니다.
PHP에서 First-class callable 문법 strlen(...)은 PHP 8.0부터 사용 가능하다.
First-class callable 문법은 PHP 8.1부터 사용 가능합니다. strlen(...) 형태로 Closure 객체를 생성합니다.
PHP에서 trigger_error()로 사용자 정의 에러를 발생시킬 수 있다.
trigger_error("메시지", E_USER_WARNING)으로 사용자 정의 에러를 발생시킬 수 있습니다.