【问题标题】:What are the benefits of Interface in PHP5?PHP5 中的接口有什么好处?
【发布时间】:2011-09-25 16:22:48
【问题描述】:

如您所知,我们可以在 PHP5 中使用接口和实现。 我在 Java SE 中使用了接口,但它仅对侦听器有用,或者......但我在 PHP5 中找不到接口的任何好处。

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

感谢您的建议。

【问题讨论】:

    标签: php interface


    【解决方案1】:

    在面向对象的语言中,你不能否认接口的好处,有数百种好处。

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

    我假设您使用 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() 方法,以便您可以无条件地运行上面的代码。

    希望这是有道理的。

    【讨论】:

      【解决方案2】:

      一个例子。
      我与一个远程团队合作,他们构建了一个系统,我需要它来与我的交互。
      我可以编写一个复杂的文档,或者只是向他们发送一个接口文件并告诉他们必须在他们开发的内容中实现该接口。

      b.t.w 接口的使用主要与语言无关。这些概念自始至终都是相同的。

      【讨论】:

      • 写入接口是计算机科学中称为封装的概念。这个想法是接口的用户不会被其实现的细节所困扰,只需要遵守商定的合同。
      • @Yzmir Ramirez 理论的问题在于它是理论,现实生活中的例子对大多数人来说是必需的。
      猜你喜欢
      • 2019-11-13
      • 1970-01-01
      • 2018-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多