함수 처리

함수 처리 (Function Handling)

PHP에서는 함수 자체를 값처럼 다루는 일이 많아요. 콜백을 저장하거나, 함수 인자를 동적으로 조사하거나, 코드 문자열로 함수를 만드는 등 함수와 관련된 다양한 작업을 처리하는 함수 모음이 이 확장입니다.

출처: PHP 공식 매뉴얼 - Function Handling

본문

이 함수들은 함수를 다루는 여러 작업을 처리합니다. 특히 콜백(callback) 중심의 호출과, 함수의 인자·정의 여부를 런타임에 알아내는 데 유용해요.

함수 처리 함수 일람

  • call_user_func — 첫 번째 매개변수가 준 콜백 호출
  • call_user_func_array — 매개변수 배열로 콜백 호출
  • create_function — 코드 문자열 평가로 함수 동적 생성
  • forward_static_call — 현재 호출된 클래스를 유지하며 콜백 호출
  • forward_static_call_array — 매개변수 배열로, 현재 호출된 클래스 유지하며 콜백 호출
  • func_get_arg — 인자 목록에서 항목 반환
  • func_get_args — 함수의 인자 목록 배열 반환
  • func_num_args — 함수에 전달된 인자 수 반환
  • function_exists — 주어진 함수가 정의됐는지 true 반환
  • get_defined_functions — 정의된 모든 함수 배열 반환
  • register_shutdown_function — 종료 시 실행할 함수 등록
  • register_tick_function — 각 틱마다 실행할 함수 등록
  • unregister_tick_function — 각 틱마다 실행할 함수 등록 해제

Notecreate_function()은 보안·성능 문제로 사실상 사용을 기피하는데, PHP 7.2.0 이후로 deprecated 됐고 PHP 8.0.0에서 제거됐어요. 대신 익명 함수(클로저)를 쓰는 것이 권장됩니다. (매뉴얼의 이 항목은 "함수 처리" 섹션에서 계승된 목록이에요.)

더 알아보기