php - PHP5 中的接口(interface)有什么好处?

标签 php interface

如您所知,我们可以在 PHP5 中使用 Interface 和 Implements。 我在 Java SE 中使用了接口(interface),但它只对监听器有用,或者...但我在 PHP5 中找不到接口(interface)的任何好处。

请帮助我了解 PHP5 中接口(interface)的好处。

感谢您的建议。

最佳答案

在面向对象的语言中,您不能否认接口(interface)的好处,有成百上千的好处。

让我给你举个傻瓜的例子:

我假设您使用 MVC 和 Ajax。在 input 的每个 focusout 期间,您将 input 值以及存储在 data 中的模型名称传递给服务器-model(自定义)属性。

<input name="myfield" value="myvalue" data-model="user_model" onblur="send ajax request .." />

现在,当您从输入中失去焦点时,它会像这样将数据发送到服务器

{"a_model":"user_model","a_name":"myfield","a_value":"myvalue"}

在服务器中,您只需调用从 ajax 请求中收到的模型名称。像这样

$this->{$a_model}->update($a_field,$a_value);

这里 $a_model 的值是变化的,所以你不能确定这个模型会有 update() 方法。接口(interface)在这里发挥作用。 接口(interface)强制所有已实现的模型(类)具有update() 方法,以便您可以无条件地运行上述代码

希望这是有道理的。

关于php - PHP5 中的接口(interface)有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7546835/

相关文章:

PHP函数替换第(i)位字符

php - mdate() 函数 codeigniter - 错误

PHP 数字格式

go - Go 中的接口(interface)变量究竟是如何实现的?

php - 放置在网页上的未经授权的代码

php - 以编程方式 mask 图像颜色 - Think Themes for Images

C# 破解 : low level difference between interface and abstract class

json - 从 json 合并两个 map[string]interface{}

c# - `System.Type` 如何成为具有约束的通用参数?

php - 简单的 jQuery - php 通信