PHP 中的接口/类型查询

码海逐星说
• 阅读 1440
在 PHP 语言中,我们可以通过类型运算符 instanceof 判断某个变量是否属于指定类或接口的实例
<?php
interface I {
     public  function hello();
}

class A implements  I {
     public function hello()
     {
         // TODO: Implement hello() method.
          print ("Hello from A\n");
     }
}

class B extends  A {
     public function  greeter (){
         print("Hello from B\n");
     }
}
$a=new A;
$b=new B;
var_dump($b  instanceof B);
var_dump($b instanceof A);
var_dump($b instanceof I);
点赞
收藏
评论区
推荐文章
Dax Dax
4年前
js高频手写大全
1.手写instanceofinstanceof作用:判断一个实例是否是其父类或者祖先类型的实例。instanceof在查找的过程中会遍历左边变量的原型链,直到找到右边变量的prototype查找失败,返回false2.实现数组的map方法3.reduce实现数组的map方法4.手写数组的reduce方法reduce()方法接收一个函数作为累
Wesley13 Wesley13
3年前
java中比较两个时间的差值
项目背景1.某篇文稿的发布时间是publishDate,例如:2020072118:00:41。2.现要求判断该篇文稿的发布时间是否在近30天之内。publicstaticlongdayDiff(DatecurrentDate,DatepublishDate){LongcurrentTimecurrentDat
明月 明月
3年前
JS数据类型的几种判断方法
1.typeof(常用)typeof是一个运算符,返回值是一个字符串,用来说明变量的数据类型,可以用来判断number,string,object,boolean,function,undefined,symbol这七种类型.2.instanceof(知道即可)instanceof运算符用于检测构造函数的prototype属性是否出现在某个实例对象的原型链上,返回值为布尔值,用于指示一个变量是否属于某个对象的实例3.Object.prototype.to
Stella981 Stella981
3年前
PHP代码静态分析工具PHPStan
<blockquote最近发现自己写的PHP代码运行结果总跟自己预想的不一样,排查时发现大多是语法错误,在运行之前错误已经种下。可能是自己粗心大意,或者说<codephpl</code检测太简单,不过的确是有一些语法错误埋藏得太深(毕竟PHP是动态语言),那么有没有办法,在代码代码正式运行之前,把语法错误全找出来呢?</blockquote<p
Wesley13 Wesley13
3年前
Java泛型的使用
泛型的定义:泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量、创建对象时)确定(即传入实际的类型参数,也称为类型实参)。泛型的引入背景:集合容器类在设计阶段或声明阶段不能确定这个容器到底实际存储的是什么类型的对象
Stella981 Stella981
3年前
PHPcpp 变量和类型
  用PHPCPP来开发PHP扩展是非常容易的,最主要的就是变量类型和PHP中的变量类型一毛一样,最重要的是写法也是一毛一样。  在PHP中,变量默认是没有类型的,我们赋给他整数,他就是整形,赋给他字符串他就是string,也就是说PHP中的变量类型是随着值来定义的。PHPCPP在这里也是做了很大的优化,实现了类型随值的类型来定义。P
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Stella981 Stella981
3年前
PHP7 升级指南(Windows)
PHP7Released了,号称提速了2倍,支持函数参数、函数返回指定类型,妈呀,等你好久了,记得以前在php5.4的升级决议中就提到,最后被否了,始终还是要加回来吧!判断php的变量类型,满满的都是泪啊!如果本地Windows仍在使用xampp(apache)之类的,请先按照以下操作:1\.修改apache加载php的配置Load
Stella981 Stella981
3年前
Netbeans 8.2将支持PHP 7
首先,将PHP项目的PHP版本设置为PHP7.0。!(http://static.oschina.net/uploads/img/201607/04202546_9GSt.png)PHP7其中一项新特性是返回类型声明,即PHP的函数和方法可以声明指定类型的返回值:!(http://static.oschina.net/uploads/
Wesley13 Wesley13
3年前
Go 函数方法
   在Go语言中,函数和方法不太一样,有明确的概念区分。其他语言中,比如PHP函数就是方法,方法就是函数,但在Go语言中,函数是不属于任何结构体、类型的方法,也就是说函数是没有接收者的;而方法是有接收者的,我们所说的方法要么属于一个结构体的,要么属于一个新定义的类型的函数函数和方法,虽然概念不同,但是定义非常相似
ThreadLocal:线程中的全局变量 | 京东云技术团队
最近接了一个新需求,业务场景上需要在原有基础上新增2个字段,接口新增参数意味着很多类和方法的逻辑都需要改变,需要先判断是否属于该业务场景,再做对应的逻辑。原本的打算是在入口处新增变量,在操作数据的时候进行逻辑判断将变量进行存储或查询。