Heim  >  Artikel  >  Backend-Entwicklung  >  PHP里interface接口在什么情况使用?该注意什么

PHP里interface接口在什么情况使用?该注意什么

WBOY
WBOYOriginal
2016-06-20 13:00:54887Durchsuche

PHP里interface接口在什么情况使用?该注意什么

一 PHP接口是什么

 

使用接口(interface),可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。
接口是通过 interface 关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方法都是空的。
接口中定义的所有方法都必须是公有,这是接口的特性

要实现一个接口,使用 implements 操作符。类中必须实现接口中定义的所有方法,否则会报一个致命错误。类可以实现多个接口,用逗号来分隔多个接口的名称。

二 PHP接口实例

举个实战中的例子,我写了个使用mysql扩展函数封装的一个数据库操作类DBMySQL,写了几个常用的方法:getAll,getOne,delById,delAll,update,save等等,
现在mysql扩展被官网彻底抛弃了,我让同事帮我使用mysqli或者pdo-mysql扩展来封装一个数据库操作类,
可能他的风格跟我原来的风格不一样,他可能喜欢叫Get_All,Get_One,等等,又或者,他觉得不需要delById了,也不需要delAll了,统一一个Del方法。
这样,要使用新的操作类,那么项目里使用了我原来的操作类的所有地方,都要修改。

再举一个情况,我觉得mysqli好用,同事A觉得PDO-mysql好用,写模块的同事C觉得随便用哪个都可以。但是,总得不可能让同事C写一套用mysqli方法的,再写一套pdo-mysql方法的,我们可以用mysqli的方法封闭一个数据库操作类,用pdo-mysql的方法也封闭一个数据库操作类,然后规定我们两个操作类实现同一功能的方法名和参数相同,那么同事C就可以专心写他的模块和逻辑了。

那么,怎样规定我和同事A分别写的数据库操作类的方法一致呢?

interface(接口)就是这么用的了。它规定所有实现它的类,都必须有它规定好的方法,少一个都不行。这样,只要我们写好interface,规定好方法,同事C就可以以这个interface为参考,调用这个interface的方法就行了。


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn