PHP回调/可调用项


定义和用法

回调是PHP中的伪类型。在PHP 5.4中,引入了可调用类型提示,它类似于回调。当某个对象被识别为可调用时,这意味着它可以被用作可以调用的函数。可调用项可以是内置或用户定义的函数,或任何类中的方法。

is_callable() 函数可用于验证标识符是否可调用。PHP具有call_user_function(),它接受一个函数名作为参数。

以下示例显示了一个内置函数是可调用的。

示例

 实时演示

<?php
var_dump (is_callable("abs"));
?>

输出

这将得到以下结果−

bool(true)

在以下示例中,将测试用户定义的函数是否可调用。

示例

 实时演示

<?php
function myfunction(){
   echo "Hello World";
}
echo is_callable("myfunction") . "
"; call_user_func("myfunction") ?>

输出

这将得到以下结果−

1
Hello World

要将对象方法作为可调用项传递,对象本身及其方法作为数组中的两个元素传递

示例

 实时演示

<?php
class myclass{
   function mymethod(){
      echo "This is a callable" . "
";    } } $obj=new myclass(); call_user_func(array($obj, "mymethod")); //array passed in literal form call_user_func([$obj, "mymethod"]); ?>

输出

这将得到以下结果−

This is a callable
This is a callable

类中的静态方法也可以作为可调用项传递。除了对象,数组参数中第一个元素应该是类的名称

示例

 实时演示

<?php
class myclass{
   static function mymethod(){
      echo "This is a callable" . "
";    } } $obj=new myclass(); call_user_func(array("myclass", "mymethod")); //using scope resolution operator call_user_func("myclass::mymethod"); ?>

输出

这将得到以下结果−

This is a callable
This is a callable

更新于: 2020-09-19

685 次浏览

启动你的 职业生涯

完成课程以获得认证

开始学习
广告