今天在看Yii源码的时候,看到一个函数is_callable,发现从网上下的chm格式的帮助手册的解释几乎是0,因此g之,发现也木有比较全面的文档,因此翻译一下官网的最新手册吧:
原文地址:http://php.net/manual/en/function.is-callable.php
is_callable
(PHP 4 >= 4.0.6, PHP 5)
is_callable
— 验证变量的内容是否能够进行函数调用
Description
bool
is_callable
(
callback
$name
[,
bool
$syntax_only
= false
[,
string
&$callable_name
]] )
验证变量的内容是否能够进行函数调用。可以用于检查一个变量是否包含一个有效的函数名称,或者一个包含经过合适编码的函数和成员函数名的数组。
Parameters(参数)
name
既可以是一个字符串类型的函数名称,也可以是一个对象和成员函数名的组合数组,比如:array($SomeOject, 'MethodName')
syntax_only
如果设置为true,那么只是验证name是一个函数或者方法,函数仅仅会拒绝不是字符串,亦或是结构不合法的数组作为回调函数。合法结构是指一个包含两个成员的数组,第一个是对象或者字符串,第二个是一个字符串。
callable_name
接收“调用名称”,在下面的例子里它是“someClass::someMethod"。请注意尽管someClass::someMethod()是一个可调用的静态方法,但是这里并不是真的表示一个静态方法
Return Values(返回值)
如果可调用返回true,否则返回false。
Examples
Example #1 is_callable()
example
<?php
// How to check a variable to see if it can be called
// as a function.
//
// Simple variable containing a function
//
function
someFunction
()
{
}
$functionVariable
=
'someFunction'
;
var_dump
(
is_callable
(
$functionVariable
,
false
,
$callable_name
));
// bool(true)
echo
$callable_name
,
"\n"
;
// someFunction
//
// Array containing a method
//
class
someClass
{
function
someMethod
()
{
}
}
$anObject
=new
someClass
();
$methodVariable
=array(
$anObject
,
'someMethod'
);
var_dump
(
is_callable
(
$methodVariable
,
tru
e,$callable_name
));
//bool(true)
echo
$callable_name
,
"\n"
;
//someClass::someMethod
?>
参考:
I haven't seen anyone note this before, but
is_callable will correctly determine the existence of methods made with
__call. The method_exists function will not.
is_callable判断是回去调用__call魔术方法来判断,而method_exists不会
分享到:
相关推荐
主要介绍了php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法,结合实例形式分析了php function_exists (),method_exists()与is_callable()基本功能、用法、区别与操作注意...
本篇文章是对php中method_exists()与is_callable()的区别进行了详细的分析介绍,需要的朋友参考下
主要介绍了Django 错误:TypeError at / 'bool' object is not callable解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
callable_traits, callable类型的现代 C 型特征和泛函 Boost.CallableTraits CallableTraits是一个C 11头库,用于检查。合成和分解可以调用类型。这里有最新的文档,这里是 。在CallableTraits中,被正式地检查过,...
最近在看《PHP核心技术与最佳实践》,里面有使用到一个函数,register_shutdown_function,由于之前没有用过该函数,就去查了一下资料,就觉得是个很实用的函数,所以这里写一下这个函数的用法。下面话不多说了,来...
例如下例,使用tuple作为变量名,再执行tuple()语句时,会报错 ‘tuple’ object is not callable 原因如下: 作用域优先级: 在执行python代码时,你用的每一个变量,都需要寻找,寻找的过程遵循一定的优先级规则...
2.is_callable() – 检测参数是否为合法的可调用结构 3.class_exists() – 检查类是否已定义 4.method_exists() – 检查类的方法是否存在 __FUNCTION__ 函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被...
callable() 函数用于检查一个对象是否是可调用的。如果返回 True,object 仍然可能调用失败;但如果返回 False,调用对象 object 绝对不会成功。 对于函数、方法、lambda 函式、 类以及实现了 `__call__` 方法的类...
python中的内建函数callable( ) ,可以检查一个对象是否是可调用的 。 对于函数, 方法, lambda 函数式, 类, 以及实现了 _ _call_ _ 方法的类实例, 它都返回 True. >>> help(callable) Help on built-in function ...
主要介绍了Python中str is not callable问题详解及解决办法的相关资料,需要的朋友可以参考下
主要介绍了Python callable内置函数原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
本文介绍了PHP中的Traits,Traits是一种为类似PHP的单继承语言而准备的代码复用机制,需要的朋友可以参考下
JAVA中Callable的使用。下载后评论可返分
var isCallable = require ( 'is-callable' ) ; var assert = require ( 'assert' ) ; assert . notOk ( isCallable ( undefined ) ) ; assert . notOk ( isCallable ( null ) ) ; assert . notOk ( isCallable ( ...
TypeError at / 'bool' object is not callable 编写函数如下: def index(request, pid=None, del_pass=None): if request.user.is_authenticated(): username = request.user.username useremail = request....
mixed call_user_func_array ( callable $callback , array $param_arr ) 把第一个参数作为回调函数(callback)调用,把参数数组作(param_arr)为回调函数的的参数传入。 例子: function foobar($arg, $arg2) { ...
array_walk_recursive 对数组中的每个成员递归地应用用户函数 基本语法 bool array_walk_recursive ( array &$input , callable $funcname [, mixed $userdata = NULL ] ) 将用户自定义函数 funcname 应用到 array ...