博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用于组织,测试和操作对象及类的工具和技术-3 了解类中的方法
阅读量:6081 次
发布时间:2019-06-20

本文共 799 字,大约阅读时间需要 2 分钟。

hot3.png

了解类中的方法
可以使用get_class_methods()函数来得到一个类中所有方法的列表
该函数需要一个类名作为参数,返回包括类中所有方法名的数组。
print_r(get_class_methods('cdProduct'));
$product = getProduct();
$method = 'getTitle';
if(in_array($method,get_class_methods($product)))
{
echo $product->$method();
}
也可以使用函数is_callable()和method_exists()来检查
is_callable()更高级些,它接受字符串变量形式的方法名作为第一个参数,如果类方法存在并且可被调用,则返回true.
如果要检测类中的方法可否被调用,可以给函数传递一个数组而不是类方法名作为参数,数组必须包含对象或类名,以将其作为它的第一个元素,要检查的方法名作为第二个元素。
if(is_callable(array($product,$method)))
{
echo $product->$method();
}
method_exitst()函数的参数为一个对象(或者类名)和一个方法名,并且如果给定方法在对象的类中存在,则返回true
if(method_exists($product,$method))
{
echo $product->$method();
}
一个方法存在并不意味着它可以被调动,对于private protected public方法,method_exists()都返回true,而使用is_callable()检查存在的protected和private类方法时,会返回false.

转载于:https://my.oschina.net/u/946060/blog/107236

你可能感兴趣的文章
彻底弄懂 Java 线程池原理
查看>>
SAP UI5和微信小程序对比之我见
查看>>
Windows系统云服务器如何使用阿里云镜像一键部署 Web 环境?
查看>>
搭建Git服务器并感受hook使用
查看>>
误删了公司数据库,但我还是活下来了
查看>>
JSON for Modern C++ 3.6.0 发布
查看>>
QBit开发微服务
查看>>
从0开始简单使用git进行项目开发【SourceTree+Coding.net】
查看>>
WPF关闭应用程序方法
查看>>
JavaScript学习(十一)--数值处理对象
查看>>
Asp.Net Core Web Api图片上传(一)集成MongoDB存储实例教程
查看>>
简单说一下UWP中的JumpList
查看>>
unity将object[]或者string对象转换成枚举enum
查看>>
一起来看 rxjs
查看>>
Java容器深入浅出之String、StringBuffer、StringBuilder
查看>>
Spring Cloud Gateway 数据库存储路由信息的扩展方案
查看>>
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符_9.19. 范围函数和操作符...
查看>>
14 SVM - 代码案例一 - 鸢尾花数据SVM分类
查看>>
PostgreSQL 11 发布:JIT、存储过程事务,并行性能提升
查看>>
分享几篇文章(PDF版)
查看>>