文章转载自
重庆PHP,原文地址:
http://www.php-chongqing.com/index.php/article/107
很多人都问我,PHP的接口有什么用?什么时候用?什么地方用?
首先我们来看什么是接口?
接口不是类,和类相似。主要用来描述类具体有什么功能(方法),但并不实现具体的功能,只起定义作用,具体功能由实现接口的类实现(implement),一个类可以实现一个或多个接口。
一般的动态语言都没有接口,但是PHP5中有,在PHP中定义接口:
interface User {
public function eat();
public function sleep();
}
实现接口:
class Chinese implements User {
public function eat() {
echo "eat chinese food!";
}
public function sleep() {
echo "sleep..."
}
}
上面的代码在PHP编程中到底有什么意义呢?从实践的角度出发,PHP中接口的作用几乎为0,完全是鸡肋,上面的代码我们不定义接口,直接定义一个Chinese类也可以正常的工作,完全没有任何问题。目前PHP5中的接口,顶多只能用作类型提示,仅此一用而已。当然,类型提示可以让我们的某些设计更为清晰。
我们来看看怎样利用接口来完成类型提示(其实意义并不大)。
public function doSomething($user) {
$user->eat();
}
假如方法doSomething()需要传递一个User对象的实例,有可能使用这个方法的用户并不清楚$user是User对象的实例,所以有可能将代码写成下面这样:
$user = "bing.peng";
$test->doSomething($user);
那么当程序试图执行$user->eat()方法时,就会失败,因为用户并没有传入期望对象。我们来为doSomething()方法加入类型提示:
public function doSomething(User $user) {
$user->eat();
}
这样用户就可清晰的知道doSomething()需要的是User对象,从而避免一些低级的错误。但是由于PHP是动态语言,所以你还是可以乱写,如下:
$user = "bing.peng";
$test->doSomething($user);
执行代码时,你还是会失败,类型提示的作用也没有多大的意义,所以实践中PHP接口的作用几乎为0,我们平白无故的还会多出一段接口定义代码,如果你将接口代码放到一个单独的文件中,那么打开这些文件还需要花费时间,尽管它很少。
顺便说下我个人对PHP目前发展的一点小小的看法吧,PHP为了适应企业级开发,增加了很多面向对象的新特性,很多东西都是直接从Java中拿过来,比如接口,但是动态语言中真的不太需要接口这东西;比如类型提示,其实用处并不大。现在的PHP越来越复杂化了,有点不伦不类了,逐渐的背离了人民群众,要知道PHP能成为web开发第一语言,主要原因就是在于草根、简单,希望PHP的发展能越来越好。
分享到:
相关推荐
在IT行业中,PHP是一种广泛应用的...总的来说,"PHP接口精讲视频"将深入讨论这些内容,帮助你掌握接口的使用技巧,提升你的PHP编程能力。通过学习和实践,你将能够更高效地利用接口来设计和构建高质量的PHP应用程序。
本篇文章将详细介绍如何在PHP环境中,利用华为云短信接口进行短信发送,并且会涉及Guzzle库的安装与使用。 首先,我们需要了解Guzzle。Guzzle是一个流行的HTTP客户端库,常用于PHP中发送HTTP请求,它允许我们方便地...
本文将深入探讨“php最简单的开发接口”这一主题,结合描述中的“PHP短信插件”以及标签“短信接口”,“php集群”,“PHP短信”,我们将讨论如何在PHP中创建一个简单的API接口以及实现短信发送功能。 首先,让我们...
本文将详细讨论如何使用PHP实现飞信接口类,以便轻松发送飞信信息。首先,我们要明白飞信接口类的基本概念。 飞信接口类是通过编程语言与飞信服务器进行交互的桥梁,它封装了发送飞信所需的各种请求和处理响应的...
本文将详细讨论“PHP短信接口类”这一主题,以及如何使用相关文件进行短信发送功能的实现。 首先,PHP短信接口类是用于与短信服务提供商进行通信的工具,通过这个接口,开发者可以实现在PHP应用程序中发送短信的...
本文将详细讨论“php车票机票查询接口”的相关知识点,包括接口设计、PHP编程技巧以及如何实现车票机票的查询功能。 首先,车票机票查询接口是Web服务中的一个重要组成部分,它允许用户通过HTTP请求获取关于火车票...
接下来,我们将深入讨论PHP接口包的一些核心组件和步骤: 1. **配置文件**:接口包通常有一个配置文件,用于设置如商户ID、密钥、回调URL等关键信息。开发者需要根据实际申请的农行支付账户信息进行配置。 2. **...
本文将详细讨论“php短信接口源码”这一主题,它涉及到如何使用PHP来调用短信网关,实现发送短信的功能。 首先,让我们理解什么是短信接口。短信接口是通信服务提供商(如56短信网)提供的一种API,允许开发者通过...
接下来,我们将讨论如何在PHP中集成腾讯云短信接口。首先,需要在腾讯云官网注册账号并创建短信应用,获取API密钥(AppID和AppKey)。然后,可以使用PHP的cURL库或者file_get_contents函数发起HTTP请求,向腾讯云的...
本文将详细讨论“支付宝支付微信支付接口php源码”这一主题,包括标题和描述中涉及的知识点,以及如何利用提供的文件进行实际操作。 1. **支付宝支付接口**: - **即时到账接口**:这是支付宝的基础支付功能,用户...
"支付接口 PHP支付接口 超好用"这个标题暗示了我们正在讨论一个基于PHP编程语言的高效、易用的支付系统解决方案。PHP是一种广泛使用的服务器端脚本语言,尤其适合Web开发,因为它具有丰富的库和框架,可以方便地处理...
我们的讨论将围绕“ourphp短信插件”,这是一个用于集成短信服务到OURPHP平台的工具,主要涉及短信接口的开发和发送设置。短信插件在现代Web应用中扮演着至关重要的角色,它允许开发者通过API与短信服务商进行交互,...
在本文中,我们将深入探讨如何在钉钉开发环境中构建一个服务器端API,特别是关于注册业务事件回调接口的PHP版本实现,这个实现是基于流行的PHP框架ThinkPHP5。首先,我们需要理解钉钉开发平台的基本概念和功能,然后...
6. **协作与分享**:提供团队协作功能,可以将接口项目共享给团队成员,实现多人同时编辑和讨论。 【压缩包中的文件】:"132676278067625891"可能是RAP系统的压缩包文件,包含源代码、配置文件、数据库脚本等相关...
在讨论如何使用PHP编写API之前,我们需要理解几个核心概念: 1. **HTTP方法**:HTTP协议规定了几种请求类型,如GET、POST、PUT、DELETE等,每种方法对应着对资源的不同操作。 - **GET**:获取资源信息。 - **POST...
标题提及的"php数据库接口.docx"文档主要讨论了PHP中与数据库交互的三种方法:mysql、mysqli和PDO。在PHP中,这些接口允许开发者连接、查询和管理各种类型的数据库,尤其是MySQL。以下是对这些知识点的详细说明: 1...
本文将详细讨论“PHP--统一支付接口”这一主题,它涉及到如何使用PHP来实现一个可以处理不同支付方式的集成接口。 一、PHP支付接口概述 PHP支付接口是通过PHP编程语言构建的,用于连接各种第三方支付平台(如支付宝...
这个压缩包中的源码是用PHP编写的,用于创建加密API接口,确保数据在传输过程中的安全性。 2. API接口:API(Application Programming Interface)是一组预先定义的函数,允许开发者通过调用来实现特定功能。这里的...
在这个特定的案例中,我们讨论的是一个“敏感词检测API接口”的源码,它主要用于检查输入的文本是否包含任何可能被视为不适当或敏感的词汇。这个API是用PHP编写的,一种广泛用于Web开发的脚本语言。 首先,`str....