351 of 410 menu

__unset 메서드

메서드 __unset은 PHP의 매직 메서드 중 하나입니다. 이 메서드는 unset 함수를 사용하여 객체의 존재하지 않거나 접근할 수 없는 속성을 삭제하려고 할 때 자동으로 호출됩니다. 메서드는 삭제하려는 속성의 이름이라는 하나의 매개변수를 받습니다.

구문

public function __unset(string $name): void

예제

매직 메서드 __unset이 있는 클래스를 만들고 존재하지 않는 속성을 삭제해 보겠습니다:

<?php class MyClass { private $data = ['a' => 1, 'b' => 2]; public function __unset($name) { echo "'$name'을(를) unset하려고 시도합니다\n"; unset($this->data[$name]); } } $obj = new MyClass(); unset($obj->a); unset($obj->c); ?>

코드 실행 결과:

'a'을(를) unset하려고 시도합니다 'c'을(를) unset하려고 시도합니다

예제

비공개 속성에 대한 접근 제어를 위해 __unset 사용하기:

<?php class User { private $email = 'user@example.com'; public function __unset($name) { if ($name === 'email') { throw new Exception("비공개 속성 'email'을 unset할 수 없습니다"); } } } $user = new User(); unset($user->email); ?>

코드 실행 결과:

Exception: 비공개 속성 'email'을 unset할 수 없습니다

함께 보기

  • 메서드 __set,
    접근할 수 없는 속성에 쓰기를 시도할 때 호출됩니다
  • 메서드 __get,
    접근할 수 없는 속성을 읽으려고 할 때 호출됩니다
  • 메서드 __isset,
    접근할 수 없는 속성의 존재 여부를 확인할 때 호출됩니다
한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부