class_implements() - SPL函数
class_implements()
(PHP 5, PHP 7)
返回指定的类实现的所有接口。
说明
class_implements(mixed $class[,bool $autoload]): array本函数返回一个数组,该数组中包含了指定类$class及其父类所实现的所有接口的名称。
参数
$class对象(类实例)或字符串(类名称)。
$autoload是否允许使用__autoload魔术函数来自动装载该类。默认值为TRUE
。
返回值
调用成功则返回一个数组,否则返回FALSE
。
更新日志
版本 | 说明 |
---|---|
5.1.0 | 增加了允许参数$class为字符串的选项。增加了$autoload参数。 |
范例
class_implements() example
以上例程的输出类似于:
Array ( [foo] => foo ) Array ( [interface_of_not_loaded] => interface_of_not_loaded )
参见
class_parents()
返回指定类的父类。get_declared_interfaces()
返回一个数组包含所有已声明的接口
You can also check if a class implements an interface using instanceof. E.g.
Hint: would check if 'your-interface' is ONE of the implemented interfaces. Note that you can use something similar to be sure the class only implements that, (whyever you would want that?) I use the first technique to check if a module has the correct interface implemented, or else it throws an exception.
Calling class_implements with a non-loadable class name or a non-object results in a warning: This is not documented and should just return FALSE as the documentation above says.
Luckily, it prints out superinterfaces as well in reverse order so iterative searching works fine: prints out: Array ( [InterfaceB] => InterfaceB [InterfaceA] => InterfaceA )
The order of interfaces is not reliable and varies between PHP versions.
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)