当前位置:  开发笔记 > 编程语言 > 正文

(何时)我应该在PHP中使用类型提示?

如何解决《(何时)我应该在PHP中使用类型提示?》经验,为你挑选了4个好方法。

我无法理解PHP作者添加类型提示的动机.在它出现之前我很高兴地活着.然后,当它被添加到PHP 5时,我开始在任何地方指定类型.现在我认为这是一个坏主意,只要鸭子打字可以确保类之间的最小耦合,并利用代码模块化和重用.

感觉就像类型提示将语言分成两种方言:有些人用静态语言风格编写代码,有提示,有些人则坚持使用良好的旧动态语言模型.还是不是"全有或全无"的情况?在适当的时候,我应该以某种方式混合这两种风格吗?



1> Mario..:

这不是静态与动态类型,PHP仍然是动态的.这是关于接口的合同.如果您知道一个函数需要一个数组作为其参数之一,请在函数定义中强制它.我更喜欢快速失败,而不是稍后在函数中出错.

(另请注意,您无法为bool,int,string,float指定类型提示,这在动态上下文中是有意义的.)


我不知道,PHP正在增长(OOP).复杂数据类型的严格接口对我来说很有意义.
最终有一点需要检查你得到的东西是否真的是你期望的东西.Typehinting允许在函数定义中执行此操作.
对,我同意.我只是觉得所有严格的合同都与最初的鸭式语言有些陌生.PHP已经足够丑陋,类型提示使它看起来更像是一堆无关的功能.
此外,你可以充分利用这两个世界,在重要的地方定义严格性,并保持小动态.

2> soulmerge..:

只要函数中的代码肯定依赖于传递参数的类型,就应该使用类型提示.无论如何代码都会生成错误,但类型提示会为您提供更好的错误消息.


在这种情况下,为您的对象创建一个接口,该接口将实现它,并使用该接口名称键入提示您的函数.坚定的合同.

3> Alan Storm..:

PHP小组添加类型提示的动机是为那些习惯于Java风格的OOP提供另一个功能,让平台更熟悉,更舒适,更有吸引力.反过来,这将使PHP更加"企业就绪",这将有助于Zend的核心业务.

除了营销,它确实有其用途.如果您正在编写一个以特定方式对参数进行操作的方法,如果该参数是其他方式,则会导致意外(通常是静默)失败,那么使用类型提示可确保代码在开发期间中断,而不是在生产中中断.



4> Ionuț G. Sta..:

如果您决定使用接口而不是具体或抽象类来进行类型提示.原因很简单,PHP不允许多重继承,但允许实现多个接口.因此,如果有人试图使用你的库,那么实现你的界面就不会有困难了,相反,他必须扩展你的抽象/具体类,因为他已经扩展了另一个.

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有