> 백엔드 개발 > PHP 튜토리얼 > PHP里interface接口在什么情况使用?该注意什么

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

WBOY
풀어 주다: 2016-06-20 13:00:54
원래의
902명이 탐색했습니다.

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的方法就行了。


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿