`
wildcat11
  • 浏览: 4242 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

PHP函数/方法存在性检查小结

    博客分类:
  • PHP
阅读更多

有些时候,如require文件(避免重复包含某一函数)、选择性调用函数(根据已加载模块调用不同的方法)时,需要检查函数或者方法是否存在,主要借助以下函数:

 

(1)bool function_exists( string $function_name )

       检查函数是否存在,主要针对面向过程函数,内置函数或者用户定义函数;

       对于语法结构,如include_once、echo,其返回false;

var_dump(function_exists ('var_dump'));       // true
var_dump(function_exists ('echo'));           // false
var_dump(function_exists ('include_once'));   // false

 

(2)bool method_exists ( object $object , string $method_name )

        检查类的方法是否存在,$object可以是类实例或者类名,两者之间没有任何区别;

        如果检查类不是已知类,调用此函数会使用任何已注册的autoloader;

        此方法不会检查方法是否可以被调用;

class Test
{
    public function pub_func ()
    {
        print_r(__METHOD__);
    }
    private function pri_func ()
    {
        print_r(__METHOD__);
    }
    public function __call ($name, $args)
    {
        print_r(__METHOD__);
    }
}

var_dump(method_exists ('Test', 'pub_func')); // true
var_dump(method_exists ('Test', 'pri_func')); // true
var_dump(method_exists ('Test', 'not_func')); // false
$t = new Test();
var_dump(method_exists ($t, 'pub_func')); // true
var_dump(method_exists ($t, 'pri_func')); // true
var_dump(method_exists ($t, 'not_func')); // false

 

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

        检测参数是否为合法的可调用结构,既可用于检查普通函数,也可以用于检查类方法;

        $syntax_only默认为false;

        以类名为参数,且$syntax_only为false时,会尝试调用该方法(仅从可访问性方面,不检测__call),若方法不可访问(private),会出现Fatal error;

        在$syntax_only为true,或者以实例为参数时,__call也会纳入检查;

var_dump(is_callable (array( 'Test', 'pub_func')));        // true
var_dump(is_callable (array( 'Test', 'pub_func'), true));  // true
var_dump(is_callable (array( 'Test', 'pri_func')));        // PHP Fatal error: Call to private method Test::pri_func()
var_dump(is_callable (array( 'Test', 'pri_func'), true));  // true
var_dump(is_callable (array( 'Test', 'not_func')));        // false
var_dump(is_callable (array( 'Test', 'not_func'), true));  // true
$t = new Test();
var_dump(is_callable (array( $t, 'pub_func')));         // true
var_dump(is_callable (array( $t, 'pub_func'), true));   // true
var_dump(is_callable (array( $t, 'pri_func')));         // true
var_dump(is_callable (array( $t, 'pri_func'), true));   // true
var_dump(is_callable (array( $t, 'not_func')));         // true
var_dump(is_callable (array( $t, 'not_func'), true));   // true
分享到:
评论

相关推荐

    PHP检查是否存在

    通过本文的学习,相信您已经掌握了如何使用PHP中的`file_exists()`函数来检查文件是否存在。同时,我们也探讨了在实际项目中如何综合考虑多种因素来提高代码的健壮性和安全性。希望这些知识能够帮助您更好地完成日常...

    PHP常用函数源代码

    根据提供的文件信息,本文将对几个常见的PHP函数进行详细的解析与说明。这些函数包括:获取客户端IP地址、日期计算、获取星期等。 #### 获取客户端IP地址 - `GetIP()` 该函数用于在PHP程序中获取客户端的IP地址。...

    radis函数使用方法

    7. **键的存在性检查** - **exists(key)** - 检查键是否存在。 - 存在返回`true`,否则返回`false`。 8. **计数操作** - **incr(key)** - 对键的值进行加1操作。 - **incrBy(key, increment)** - 对键的值...

    PHP函数常用用法小结PHP函数常用用法小结

    本篇文章将总结一些PHP中的常用函数用法,帮助开发者更好地理解和应用。 1. **字符串处理函数** - `strlen()`:计算字符串的长度,如`strlen("Hello")`返回5。 - `trim()`:去除字符串两侧的空白字符,`trim(" ...

    PHP 函数学习简单小结

    本篇文章将对PHP中的几个重要函数进行简要总结,...这些PHP函数是日常开发中常用的工具,理解和掌握它们对于编写高效、灵活的代码至关重要。通过合理运用这些函数,可以轻松处理文件操作、字符串处理和模式匹配等任务。

    PHP常用函数总结

    本篇文章将总结一些常用的PHP函数,帮助开发者更好地理解和运用这些工具。 1. 数学与三角函数: - `abs()`: 返回一个数的绝对值,例如`abs(-5)`将返回5。 - `acos()`: 返回一个数的反余弦值,例如`acos(0)`将返回...

    一个很全的php函数库文档 txt

    根据给定的文件信息,我们可以总结出以下几个关键的PHP知识点: ...以上就是从给定的PHP函数库文档中提取的主要知识点,这些函数覆盖了IP获取、日期时间操作和页面重定向等多个方面,对于Web开发来说非常实用。

    9个PHP必须知道的函数

    总结起来,这9个PHP函数涵盖了基本的输出、调试、数组操作、文件处理、JSON操作、字符串操作、时间处理以及会话管理,是PHP开发者必备的基础技能。通过熟练掌握这些函数,能够更有效地编写出高质量的PHP代码。同时,...

    php常用函数合集,有七个pdf文档

    - `in_array()`: 检查数组中是否存在指定的值。 3. **文件与目录操作函数** - `file_get_contents()`: 读取文件内容到字符串。 - `file_put_contents()`: 将数据写入文件。 - `mkdir()`: 创建目录。 - `rmdir...

    PHP常用符号和函数.docx

    - 使用`file_exists()`检查文件是否存在,使用`file_get_contents()`读取文件内容。 5. **卸载变量**: - 使用`unset()`函数删除变量。 6. **数据类型检测**: - `is_int()`: 检测变量是否为整数。 - `is_null()...

    function_exists函数详解

    3. **与类方法的区别**:需要注意的是,`function_exists()` 只能用于检查全局函数的存在性,而不能用于检查类的方法。对于类的方法,可以使用 `method_exists()` 函数来进行检查。 4. **与其他语言的差异**:不同...

    PHP技巧PHP的正则处理函数总结分析

    ### PHP技巧:PHP的正则处理函数总结分析 在日常的Web开发中,正则表达式的运用非常广泛,尤其在数据验证、文本处理等方面发挥着重要作用。PHP作为一门流行的服务器端脚本语言,内置了一系列强大的正则表达式处理...

    php常用函数总结.xls

    在PHP编程语言中,函数是预定义的代码块,用于执行特定任务,可以被多次调用,以提高代码的重用性和效率。本文件“php常用函数总结.xls”显然是一个整理了PHP常用函数的资源,方便开发者查阅和学习。下面我们将深入...

    一步一步学习PHP(3) php 函数

    不过,可以使用`isset()`函数检查变量是否已定义,而`unset()`函数用于取消变量的定义。 总结: - PHP函数用`function`声明,类似JavaScript。 - 变量前需 `$` 符号。 - 参数传递分值传递和引用传递,`&` 用来表示...

    PHP函数速查大全汇总

    通过以上总结可以看出,《PHP函数速查大全汇总》涵盖了大量常用函数,这些函数不仅能够帮助开发者快速解决问题,还能提高编程效率和代码质量。无论是进行字符串处理、日期与时间操作还是数据库交互,都能找到相应的...

    php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析

    总结来说,`function_exists()` 仅检查全局函数是否存在,而 `method_exists()` 关注于类方法是否存在,不论其可见性。`is_callable()` 则更进一步,不仅检查方法存在,还验证是否能实际调用,包括考虑方法的访问...

    php教程之魔术方法的使用示例(php魔术函数)

    在PHP编程语言中,魔术方法是一组特殊的方法,它们在特定的情况下自动被调用,比如当尝试访问不存在的属性或方法时。这些方法都以两个下划线 "__" 开头,因此得名“魔术方法”。在本文中,我们将深入探讨几个重要的...

    PHP 函数索引.doc

    本资源摘要信息为 PHP 函数索引的知识点总结,该索引共收录了 967 个 PHP 函数,涵盖了字符串处理、数组操作、数学计算、文件操作、数据库操作、网络操作等多个方面。 1. 字符串处理函数 PHP 提供了多种字符串...

    超好用的php操作文件夹函数-复制和删除

    这个`deldir()`函数首先检查给定的路径是否为目录,然后遍历目录中的所有对象。如果对象是子目录,它会递归调用自身;如果对象是文件,就使用`unlink()`函数删除。最后,当目录为空后,使用`rmdir()`删除整个目录。 ...

Global site tag (gtag.js) - Google Analytics