php强类型判断在什么时候,如何使php更加强类型健壮?

我真的很喜欢PHP,因为:

_易于开发的Web应用程序(您在10分钟内设置了LAMP,就可以开始使用了)

_ 简单易学

_易于部署(您只需要Apache和PHP模块)

我真的很喜欢Java,因为:

_它是强类型的

我对使用Java和Netbeans进行开发感到惊讶。每当出现类型不匹配的情况时,IDE在开发时都会向我发出警报,并且IDE本身会提出修复建议。

我认为强类型打字是一种幸福的。没错:可以包含任何内容的PHP数组可以加快您的开发速度,但是随后您需要花费时间查找错误,而在进行更多工作之前,您必须拥有可以为您指出问题的IDE。

这也使我在重构过程中也更有信心。

因此,我的问题是:是否可以在PHP中使用类型(包括方法的返回值)?

您是否知道一个项目,一个 fork ,能让我做到的任何事情?

它可能只是一个预解析器,它会在实际的PHP解析器(即public function /*ConfBuilders[]*/ getConfBuilders(/*int*/ confId))之前检查一些注释。

请任何会引入类型概念的事物,使我认为,这将使PHP应用程序更健壮,并最终更快地实现(现在,我认为用Java开发软件比使用PHP开发软件要快得多,这要归功于IDE的帮助)。

谢谢,

编辑:

这是我在网上发现的唯一内容:

http://cstruter.com/blog/44

但是我不喜欢它,主要是因为您不能以标准方式声明对象属性,并且可以确保使脚本的执行速度变慢。我想要一种脱机工作的方法,同时开发…一种编译。

最佳答案

有两种方法可以使您的代码更加严格。

在方法中使用类型提示来限制参数类型。这仅适用于类,接口(interface)和数组。参见示例:

class Foo { }

class Bar {

function quux(Foo $f) { }

}

我尽我所能使用类型提示,以免自己陷入愚蠢的错误,例如传递null或原始值,而需要对象时。不幸的是,返回值不是强类型的。

使用访问限定符:public,protected,private。尽管公共(public)成员可以由外部实体访问,但 protected 和私有(private)成员只能由相同(基)类的实例访问。还可以考虑使用abstract和final限定词。

针对接口(interface)而非类编写代码,积极使用合成和聚合。习惯使用依赖项注入(inject)。在适当的地方使用众所周知的设计模式。

熟悉反射和面向方面编程的元素。尽管在AoP领域几乎没有提供PHP,但是它的反射子系统却相当不错。您可以在文档块注释中使用@annotations来利用元编程。我经常使用它来对带有单元测试位置的类进行注释。我也有一个ACL的实现,其中 Controller 方法用必要的访问级别(简而言之)来注释:

/**

* @AclActivity('view-services')

* @AclActivity('edit-services')

*/

public function editServiceAction() { ... }

最后,不要将自己局限于PHP。了解其他语言,不仅是主流语言,而且还有晦涩的语言-这些语言充满了绝妙的主意。查看Lisp,Erlang,Rebol。查找现有语言的不寻常应用程序,例如服务器端JavaScript编程。写你自己的语言。是的,这很烂,但是您会学到很多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值