훌륭해요!
정답률 80%
문제별 결과
PHP에서 unset() 함수는 변수를 해제하고 메모리에서 즉시 제거한다.
unset()은 변수를 해제하지만, 실제 메모리 해제는 가비지 컬렉터에 의해 나중에 수행됩니다.
PHP에서 Exception과 Error는 같은 부모 클래스를 가지지 않는다.
둘 다 Throwable 인터페이스를 구현합니다. catch(Throwable $e)로 모두 잡을 수 있습니다.
PHP 정규표현식에서 역참조(backreference) \1은 첫 번째 캡처 그룹의 매칭을 참조한다.
/([a-z])\1/은 같은 문자가 연속된 패턴(aa, bb 등)을 매칭합니다.
PHP 8.2에서 동적 프로퍼티(dynamic property) 생성이 더 이상 권장되지 않는다.
PHP 8.2부터 선언하지 않은 프로퍼티에 값을 할당하면 Deprecated 경고가 발생합니다. #[AllowDynamicProperties]로 허용할 수 있습니다.
PHP에서 $_REQUEST는 $_GET, $_POST, $_COOKIE의 값을 모두 포함한다.
$_REQUEST는 기본적으로 GET, POST, COOKIE 데이터를 합친 배열입니다. request_order 설정에 따라 우선순위가 달라집니다.
PHP에서 "" == null 의 결과는 true이다.
PHP의 느슨한 비교에서 빈 문자열과 null은 동등(==)합니다. 엄격 비교(===)에서는 false입니다.
PHP의 PDO에서 lastInsertId()는 마지막으로 삽입된 행의 ID를 반환한다.
INSERT 쿼리 실행 후 $pdo->lastInsertId()로 자동 증가 ID를 가져올 수 있습니다.
PHP에서 하나의 클래스는 여러 인터페이스를 상속받을 수 없다.
클래스는 콤마로 구분하여 여러 인터페이스를 구현(implements)할 수 있습니다.
PHP 8.0의 Attributes(#[...])는 PHP DocComment를 대체할 수 있다.
#[Route("/api/users")] 같은 Attributes로 메타데이터를 코드에 직접 추가합니다. Reflection API로 런타임에 읽을 수 있습니다.
PHP에서 parent:: 키워드로 부모 클래스의 메서드를 호출할 수 있다.
parent::__construct()로 부모 클래스의 생성자를 호출하는 등, 부모 클래스의 멤버에 접근할 수 있습니다.