PHP register_shutdown_function 함수 의 깊이 있 는 해석

스 크 립 트 가 자주 죽 고 항상 예 쁘 지 는 않 습 니 다.사용자 에 게 치 명 적 인 오류 나 빈 페이지 를 표시 하고 싶 지 않 습 니 다.(displayerrors 를 off 로 설정 한 경우).PHP 에 이름 이 있 습 니 다.  register_shutdown_function 의 함 수 는 실행 이 끝 났 을 때 호출 할 수 있 는 다른 함 수 를 설정 할 수 있 습 니 다.즉,스 크 립 트 가 실행 되 었 거나 예상 치 못 하 게 죽 어서 PHP 실행 이 종료 되 었 을 때 이 함수 가 호출 됩 니 다.따라서 스 크 립 트 시작 부분 에 변 수 를 false 로 설정 한 다음 스 크 립 트 끝 에 true 로 설정 하 는 방법 을 사용 할 수 있 습 니 다.PHP 에서 리 셋 함 수 를 닫 고 스 크 립 트 의 완성 여 부 를 확인 합 니 다.만약 우리 의 변수 가 false 라면 스 크 립 트 의 마지막 줄 이 실행 되 지 않 았 다 는 것 을 알 수 있 습 니 다.따라서 프로그램 이 어떤 곳 에서 실행 되 었 는 지 확인 할 수 있 습 니 다.나 는 매우 기본 적 인 예 를 준 비 했 습 니 다.명령 오류 가 표시 되 어야 할 때 보 여 줄 수 있 습 니 다.사용자 에 게 적절 한 피드백 을 어떻게 해 야 합 니까?치 명 적 인 오 류 를 닫 으 면 디 스 플레이 를 설정 할 수 있 습 니 다.errors 와 errorreporting)예 를 예 쁘 게 보 여 줍 니 다.

<?php
$clean = false;
function shutdown_func(){
global $clean;
if (!$clean){
die("not a clean shutdown");
}
return false;
}
register_shutdown_function("shutdown_func");
$a = 1;
$a = new FooClass(); //
$clean = true;
?>
보시 다시 피 리 셋 함수 가 실 행 될 때 clean 변 수 는 true,shutdown 로 설정 되 지 않 았 습 니 다.func 함수 에서 뭔 가 를 출력 합 니 다.이 물건 은 하나의 클래스 로 포장 할 수 있 습 니 다(전역 변 수 를 사용 하지 않 음).PHP 는 register 를 제공 합 니 다.shutdown_function()이 함 수 는 스 크 립 트 가 종료 되 기 전에 등 록 된 함 수 를 되 돌 릴 수 있 습 니 다.즉,PHP 프로그램 이 실 행 된 후에 실 행 된 함수 입 니 다.register_shutdown_function 실행 메커니즘 은 PHP 가 호출 할 함 수 를 메모리 에 불 러 옵 니 다.페이지 의 모든 PHP 문장 이 실 행 될 때 이 함 수 를 호출 합 니 다.이 럴 때 메모리 에서 호출 되 는 것 은 PHP 페이지 에서 호출 되 는 것 이 아니 므 로 위의 예 는 상대 경 로 를 사용 할 수 없습니다.왜냐하면 PHP 는 원래 페이지 가 존재 하지 않 기 때 문 입 니 다.상대 적 인 경로 가 없다.주의:registershutdown_function 은 모든 PHP 문 구 를 실행 한 후에 함 수 를 호출 하 는 것 을 말 합 니 다.클 라 이언 트 가 스 트림 브 라 우 저 페이지 를 닫 을 때 함 수 를 호출 하 는 것 으로 이해 하지 마 십시오.호출 조건 을 이렇게 이해 할 수 있 습 니 다.1.페이지 가 사용자 에 게 강제 정지 되 었 을 때 2.프로그램 코드 가 실 행 될 때 3.PHP 코드 가 실 행 될 때 코드 실행 에 이상 과 오류,경고 가 있 습 니 다.

좋은 웹페이지 즐겨찾기