> 백엔드 개발 > PHP 튜토리얼 > PHP의 Register_shutdown_function에 대한 심층적인 이해

PHP의 Register_shutdown_function에 대한 심층적인 이해

黄舟
풀어 주다: 2023-03-14 12:36:02
원래의
1526명이 탐색했습니다.

register_shutdown_function() 함수는 프로그램 실행이 완료된 후 실행되는 함수를 구현할 수 있습니다. 해당 기능은 프로그램 실행이 완료된 후 후속 작업을 구현하는 것입니다.

오류 및 예외 처리를 위한 세 가지 함수를 설정할 수 있습니다.


register_shutdown_function(array(‘Debug','fatalError')); //定义PHP程序执行完成后执行的函数
set_error_handler(array(‘Debug','appError')); // 设置一个用户定义的错误处理函数
set_exception_handler(array(‘Debug','appException')); //自定义异常处理。
로그인 후 복사

함수: Register_shutdown_function() 함수는 프로그램 실행이 완료된 후 실행되는 기능을 실현할 수 있습니다. 해당 기능은 프로그램 실행이 완료된 후 후속 작업을 실현하는 것입니다. 프로그램이 실행 중일 때 실행 시간 초과나 강제 종료가 발생할 수 있지만, 이 경우 기본 프롬프트는 매우 불친절합니다. 동시에 임시 파일 등을 포함하여 실행 완료 후 임시 데이터 정리와 같은 일부 기능의 후속 작업을 구현할 수 있습니다.

다음과 같이 호출 조건을 이해할 수 있습니다.

1. 사용자에 의해 페이지가 강제로 중지된 경우

2. 프로그램 코드의 시간이 초과된 경우

3. , 코드 실행에 예외, 오류 및 경고가 있습니다.

<?php
function test() {
  echo "test()";
}
register_shutdown_function("test");
echo "show: ";

//将输出
show:test()
로그인 후 복사

example2:

<?php
 class ClassDemo {
     public function __construct() {
       register_shutdown_function(array($this, "f"));
     }
  
     public function f() {
       echo "f()";
     }
   }
 
   $demo = new ClassDemo();
   echo "before </br>";

//将输出
before
f()
로그인 후 복사

example3:

<?php
function f($str) {
    echo $str."<br>";
}
 
register_shutdown_function("f","hello");

  class ClassDemo {
    public function __construct() {
      register_shutdown_function(array($this, "f"),"hello");
    }
 
    public function f($str) {
      echo "f():".$str;
    }
  }

$demo = new ClassDemo();
echo "before </br>";

//将输出
before
hello
f():hello
로그인 후 복사

Notes

1 Register_shutdown_function() 함수 반복적으로 호출할 수 있으나 실행 순서는 등록 순서와 동일합니다.

2,register_shutdown_function() 함수 호출 전에exit() 함수 호출이 있으면,register_shutdown_function() 함수는 실행되지 않습니다

3, PHP4 Apache와 같은 일부 서버에서는
4를 전달하는 등록 함수 매개변수를 지원하며, 현재 디렉토리
5는 헤더가 전송된 후에 Register_shutdown_function() 함수에서 변경될 수 있습니다

위 내용은 PHP의 Register_shutdown_function에 대한 심층적인 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿