라이브러리

[PHP] spl_autoload_unregister - __autoload() 구현으로 지정된 함수 등록 해제




PHP Autoloading

PHP는 클래스를 자동으로 로드하는 기능을 제공합니다. 이 기능을 사용하면 클래스를 사용하기 전에 클래스 파일을 로드할 필요가 없습니다. PHP는 클래스 이름을 분석하여 클래스 파일을 자동으로 로드합니다.

spl_autoload_register

`spl_autoload_register`는 PHP의 내장 함수 중 하나로, 자동 로드 함수를 등록하는 데 사용됩니다. 이 함수는 클래스 이름을 분석하여 클래스 파일을 자동으로 로드합니다.

spl_autoload_unregister

`spl_autoload_unregister`는 PHP의 내장 함수 중 하나로, 자동 로드 함수를 등록 취소하는 데 사용됩니다. 이 함수는 이전에 등록된 자동 로드 함수를 취소합니다.

예제

#hostingforum.kr
php

// 자동 로드 함수를 등록합니다.

function autoload($class_name) {

    echo "자동 로드 함수가 호출되었습니다.
";

    require_once $class_name . '.php';

}



spl_autoload_register('autoload');



// 클래스를 사용합니다.

$my_class = new MyClass();



// 자동 로드 함수를 등록 취소합니다.

spl_autoload_unregister('autoload');



// 클래스를 사용합니다. 이때 자동 로드 함수는 호출되지 않습니다.

$my_class2 = new MyClass();



// 자동 로드 함수를 다시 등록합니다.

spl_autoload_register('autoload');



// 클래스를 사용합니다. 이때 자동 로드 함수는 호출됩니다.

$my_class3 = new MyClass();



예제 설명

이 예제에서는 `autoload` 함수를 자동 로드 함수로 등록하고, 클래스를 사용합니다. 그런 다음 `autoload` 함수를 등록 취소하고, 클래스를 다시 사용합니다. 이때 자동 로드 함수는 호출되지 않습니다. 마지막으로 `autoload` 함수를 다시 등록하고, 클래스를 사용합니다. 이때 자동 로드 함수는 호출됩니다.

자동 로드 함수의 호출 순서

`spl_autoload_register` 함수를 사용하여 자동 로드 함수를 등록하면, PHP는 자동 로드 함수를 호출할 때 호출 순서를 결정합니다. 자동 로드 함수의 호출 순서는 다음과 같습니다.

1. PHP는 클래스 이름을 분석하여 자동 로드 함수를 호출합니다.
2. PHP는 자동 로드 함수를 호출하여 클래스 파일을 로드합니다.
3. PHP는 클래스 파일을 로드한 후, 클래스를 인스턴스화합니다.

자동 로드 함수의 등록 취소

`spl_autoload_unregister` 함수를 사용하여 자동 로드 함수를 등록 취소하면, PHP는 자동 로드 함수를 호출하지 않습니다. 등록 취소된 자동 로드 함수는 다시 호출되지 않습니다.

자동 로드 함수의 등록 취소와 등록

`spl_autoload_unregister` 함수를 사용하여 자동 로드 함수를 등록 취소한 후, `spl_autoload_register` 함수를 사용하여 자동 로드 함수를 다시 등록하면, PHP는 자동 로드 함수를 호출합니다. 등록 취소된 자동 로드 함수는 다시 호출되지 않습니다.

자동 로드 함수의 등록 취소와 등록의 예

#hostingforum.kr
php

// 자동 로드 함수를 등록합니다.

function autoload($class_name) {

    echo "자동 로드 함수가 호출되었습니다.
";

    require_once $class_name . '.php';

}



spl_autoload_register('autoload');



// 자동 로드 함수를 등록 취소합니다.

spl_autoload_unregister('autoload');



// 자동 로드 함수를 다시 등록합니다.

spl_autoload_register('autoload');



// 클래스를 사용합니다. 이때 자동 로드 함수는 호출됩니다.

$my_class = new MyClass();



자동 로드 함수의 등록 취소와 등록의 예 설명

이 예제에서는 `autoload` 함수를 자동 로드 함수로 등록하고, 등록 취소하고, 다시 등록합니다. 그런 다음 클래스를 사용합니다. 이때 자동 로드 함수는 호출됩니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 1 페이지

검색

게시물 검색