is_callable — 변수 내용을 함수처럼 호출할 수 있는지 확인 > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

is_callable — 변수 내용을 함수처럼 호출할 수 있는지 확인 정보

PHP is_callable — 변수 내용을 함수처럼 호출할 수 있는지 확인

본문

is_callable — 변수 내용을 함수처럼 호출할 수 있는지 확인

 

설명:

 

bool is_callable ( mixed $var [, bool $syntax_only [, string &$callable_name ]] )

변수의 내용이 함수처럼 호출할 수 있는지 확인합니다. 변수가 유효한 함수의 이름을 포함하고 있는지, 혹은 인코드된 객체와 함수 이름을 가지는 배열인지를 간단히 확인할 수 있습니다.

 

인수:

 

var

문자열 변수에 저장한 함수의 이름이거나, 객체 안의 객체와 메쏘드의 이름일 수 있습니다. 예:

 

array($SomeObject, 'MethodName')

syntax_only

TRUE로 설정하면, 이 함수는 var가 함수나 메쏘드일 수 있는지만 확인합니다. 이는 단순히 문자열이 아닌 변수나 유효하게 콜백에 사용할 수 있는 구조가 아닌 배열을 거부합니다. 유효한 것은 2 엔트리뿐이며, 첫번째는 객체나 문자열, 두번째는 문자열입니다.

 

callable_name

"호출할 수 있는 이름"을 받습니다. 아래의 예제에서 이는 "someClass:someMethod"입니다. 그러나 somClass::SomeMethod()가 호출할 수 있는 정적 메쏘드라면, 불가능하다는 점에 주의하십시오.

 

반환값:

 

var를 호출할 수 있으면 TRUE, 아니면 FALSE를 반환합니다.

 

예제:

 

<?php

//  변수를 함수처럼 호출할 수 있는지

//  체크하는 방법.

 

//

//  함수를 포함하는 간단한 변수

//

 

function someFunction()

{

}

 

$functionVariable = 'someFunction';

 

var_dump(is_callable($functionVariable, false, $callable_name));  // bool(true)

 

echo $callable_name, "\n";  // someFunction

 

//

//  메쏘드를 포함하는 배열

//

 

class someClass {

 

  function someMethod()

  {

  }

 

}

 

$anObject = new someClass();

 

$methodVariable = array($anObject, 'someMethod');

 

var_dump(is_callable($methodVariable, true, $callable_name));  //  bool(true)

 

echo $callable_name, "\n";  //  someClass:someMethod

 

?>

추천
0
  • 복사

댓글 0개

© SIRSOFT
현재 페이지 제일 처음으로