PHP Callable 에서 리 셋 형식 을 강제로 지정 하 는 방법

1644 단어 phpcallable
만약 한 방법 이 리 셋 방법 을 매개 변수 로 받 아들 여야 한다 면,우 리 는 이렇게 쓸 수 있다.

<?php
function dosth($callback){
call_user_func($callback);
}
function callback(){
echo 'do sth callback';
}
dosth('callback');
?>
출력:
do sth callback
그러나 우 리 는 리 셋 방법 이 호출 될 수 있 는 지 여 부 를 확정 할 수 없 기 때문에 이 리 셋 방법 이 호출 될 수 있 는 지 여 부 를 확인 하기 위해 많은 추가 작업 을 해 야 한다.
어떤 더 좋 은 방법 으로 리 셋 방법 이 호출 될 수 있 는 지 판단 할 수 있 습 니까?
우 리 는 callable 을 사용 하여 매개 변 수 를 리 셋 형식 으로 강제로 지정 할 수 있 습 니 다.그러면 리 셋 방법 이 반드시 호출 될 수 있어 야 합 니 다.
예 를 들 어 리 셋 방법 은 존재 하지 않 는 방법 이다.

<?php
function dosth(callable $callback){
call_user_func($callback);
}
dosth('abc');
?>
실행 후 알림 오류:Type Error:Argument 1 passed to dossh()must be callable
프로그램 은 dosth 내부 의 처 리 를 수행 할 수 없 으 며,매개 변수 유형 에서 이미 검사 처 리 를 하여 보호 역할 을 합 니 다.
callable 을 없 애 면

<?php
function dosth($callback){
call_user_func($callback);
}
dosth('abc');
?>
실행 후 알림 경고:경고:calluser_func() expects parameter 1 to be a valid callback, function ‘abc' not found or invalid function name
프로그램 은 dosth 내부 의 처 리 를 수행 할 수 있 습 니 다.그러면 이 리 셋 방법 이 호출 될 수 있 는 지 확인 하 는 추가 작업 이 필요 합 니 다.
따라서 방법의 매개 변수 가 리 셋 방법 이 라면 callable 을 추가 하여 리 셋 형식 으로 강제 지정 해 야 합 니 다.그러면 호출 오 류 를 줄 이 고 프로그램의 질 을 향상 시 킬 수 있 습 니 다.
위 에서 말 한 것 은 편집장 이 여러분 에 게 소개 한 PHP Callable 이 강제로 리 셋 유형 을 지정 하 는 방법 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 저 에 게 메 시 지 를 남 겨 주세요.편집장 은 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기