php interface exists,php interface_exists、class_exists、method_exists和propert

php interface exists,php interface_exists、class_exists、method_exists和propert下面我们一起来看在php中PHP类和对象函数这phpinterface_exists、class_exists、method_exists和property_exists详解,希望文章对各位同学会有所帮助。1.interface_exists、class_exists、method_exists和property_exists:顾名思义,从以上几个函数的命名便可以猜出几分他们的功能。我想这…

大家好,又见面了,我是你们的朋友全栈君。

下面我们一起来看在php 中PHP类和对象函数这 php interface_exists、class_exists、method_exists和property_exists详解,希望文章对各位同学会有所帮助。

1. interface_exists、class_exists、method_exists和property_exists:

顾名思义,从以上几个函数的命名便可以猜出几分他们的功能。我想这也是我随着对PHP的深入学习而越来越喜欢这门编程语言的原因了吧。下面先给出他们的原型声明和简短说明,更多的还是直接看例子代码吧。

bool interface_exists (string $interface_name [, bool $autoload = true ]) 判断接口是否存在,第二个参数表示在查找时是否执行__autoload。

bool class_exists (string $class_name [, bool $autoload = true ]) 判断类是否存在,第二个参数表示在查找时是否执行__autoload。

bool method_exists (mixed $object , string $method_name) 判断指定类或者对象中是否含有指定的成员函数。

bool property_exists (mixed $class , string $property) 判断指定类或者对象中是否含有指定的成员变量。

实例代码如下:

//in another_test_class.php

interfaceAnotherTestInterface {

}

classAnotherTestClass {

publicstaticfunctionprintMe() {

print “This is Test2::printSelf.n”;

}

publicfunctiondoSomething() {

print “This is Test2::doSomething.n”;

}

publicfunctiondoSomethingWithArgs($arg1,$arg2) {

print ‘This is Test2::doSomethingWithArgs with ($arg1 = ‘.$arg1.’ and $arg2 = ‘.$arg2.”).n”;

}

}

//in class_exist_test.php, 下面测试代码中所需的类和接口位于another_test_class.php,

//由此可以发现规律,类和接口的名称是驼峰风格的,而文件名的单词间是下划线分隔的。

//这里给出了两种__autoload的方式,因为第一种更为常用和方便,因此我们这里将第二种方式注释掉了,他们之间的差别可以查看manual。

function__autoload($classname) {

$nomilizedClassname=strtolower(preg_replace(‘/([A-Z]w*)([A-Z]w*)([A-Z]w*)/’,’${1}_${2}_${3}’,$classname));

requirestrtolower($nomilizedClassname).”.php”;

}

//spl_autoload_register(function($classname) {

//    $nomilizedClassname = strtolower(preg_replace(‘/([A-Z]w*)([A-Z]w*)([A-Z]w*)/’,’${1}_${2}_${3}’,$classname));

//    require strtolower($nomilizedClassname).”.php”;

/

(责任编辑:admin)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/159652.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 功能测试数据测试之因果图分析方法[通俗易懂]

    功能测试数据测试之因果图分析方法[通俗易懂]定义是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。因果图法产生的背景等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用

  • Latex 换行不缩进[通俗易懂]

    Latex 换行不缩进[通俗易懂]Latex中换行但不缩进的命令:\\%强制换行但没有开始新的一段,新的一行也是没有缩进的。或者\noindent%开始新的一段且没有缩进

  • WSAStartup()函数的使用

    WSAStartup()函数的使用intWSAStartup(__inWORDwVersionRequested,__outLPWSADATAlpWSAData);WSAStartup格式:intPASCALFARW

  • 大数据开发基础之Java基础[通俗易懂]

    大数据开发基础之Java基础[通俗易懂]大数据给很多人的感觉是,专业性强,操作繁琐,属于“高大上”的技术。大数据人才供不应求,有一些人则看到了大数据带来的机遇,想通过专业的培训来学习大数据,那么大数据从0开始需要学习些什么内容呢一、0基础学习大数据需要Java基础Java:开发需求最多的编程语言之一,可以从事网站开发、桌面程序设计、游戏开发、安卓后台开发、全栈开发等。它可以说是大数据最基础的编程语言,一是大数据的本质是…

  • set集合使用详解

    set集合使用详解set集合使用详解“曾经年少爱追梦,一心只想往前飞。”那会高二,刚刚接触c语言,一发不可收拾,还记得当时为了一个想法和朋友一起想到半夜。现在我还是那个少年,那个又菜又爱玩的少年。咳咳,set集合容器,非常好哈!内部是用二叉搜索树实现的,重点是什么呢,容器内每一个元素呀,它只会出现一次,并且是排好序的,你爱了吗?复杂度更是只有O(log2n),非常高效呢。set算是竞赛里面用的比较多的了,因为,很多题目都爱考一些集合什么的。咳咳,来看看使用方式吧。上表:写法说明set

  • SSM项目(GitHub上找的)

    SSM项目(GitHub上找的)SSM项目1.学生信息管理系统链接:https://pan.baidu.com/s/1e9ar4OKetL-40mp6R0b_4w提取码:01c8运行环境:jdk1.8以上服务器:tomcat运行软件:eclipse界面如下2.学生考试系统运行环境:jdk1.8以上服务器:tomcat运行软件:eclipse2.1学生前台2.2后台3.房屋出租系统运行环境:jdk1.8以上服务器:tomcat运行软件:eclipse…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号