【发布时间】:2011-09-25 16:22:48
【问题描述】:
如您所知,我们可以在 PHP5 中使用接口和实现。 我在 Java SE 中使用了接口,但它仅对侦听器有用,或者......但我在 PHP5 中找不到接口的任何好处。
请帮助我了解 PHP5 中接口的好处。
感谢您的建议。
【问题讨论】:
如您所知,我们可以在 PHP5 中使用接口和实现。 我在 Java SE 中使用了接口,但它仅对侦听器有用,或者......但我在 PHP5 中找不到接口的任何好处。
请帮助我了解 PHP5 中接口的好处。
感谢您的建议。
【问题讨论】:
在面向对象的语言中,你不能否认接口的好处,有数百种好处。
让我给你一个傻瓜的例子:
我假设您使用 MVC 和 Ajax。在每个focusout 或input 期间,您将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() 方法。这里界面发挥作用。 接口强制所有实现的模型(类)具有update() 方法,以便您可以无条件地运行上面的代码。
希望这是有道理的。
【讨论】:
一个例子。
我与一个远程团队合作,他们构建了一个系统,我需要它来与我的交互。
我可以编写一个复杂的文档,或者只是向他们发送一个接口文件并告诉他们必须在他们开发的内容中实现该接口。
b.t.w 接口的使用主要与语言无关。这些概念自始至终都是相同的。
【讨论】: