_易于开发Web应用程序(您可以在10分钟内设置LAMP并准备好了)
_ 简单易学
_易于部署(您只需要带有PHP模块的Apache)
我真的很喜欢Java,因为:
_它是强类型的
使用Java和Netbeans开发我感到很惊讶.任何时候出现类型不匹配的问题,IDE在开发过程中都会收到警报,而IDE本身就提出了修复建议.
我认为强打字是一种幸福.这是真的:可以包含任何内容的PHP数组可以加快您的开发速度,但是您必须花时间查找错误,而在提前做更多工作时,您可以使用IDE为您指出问题.
这让我在重构过程中也更有信心.
所以,我的问题是:是否可以在PHP中使用类型(包括方法的返回值)?
你知道一个项目,一个分支,什么能让我这样做?
它可能只是一个预解析器,它在实际的PHP解析器之前检查一些注释(即public function / * ConfBuilders [] * / getConfBuilders(/ * int * / confId)).
请介绍类型概念的任何内容,因此,在我看来,会使程序更加健壮,并最终更快地实现(现在我认为用Java开发软件比用PHP开发软件更快,这要归功于IDE的帮助).
谢谢,
担
编辑:
这是我在网上找到的唯一一件事:
http://cstruter.com/blog/44
但我不喜欢它,主要是因为你不能以标准的方式声明对象属性,并确保使脚本的执行速度变慢.我想要一个离线工作的方法,同时开发……一种编译.
>在方法中使用类型提示来限制参数类型.这仅适用于类,接口和数组.见例子:
class Foo { } class Bar { function quux(Foo $f) { } }
我尽可能地使用类型提示来避免愚蠢的错误,例如传递null或原始值,而对象是期望的.遗憾的是,返回值不是强类型的.
>使用访问限定符:public,protected,private.虽然公共成员可以由外部实体访问,但受保护和私有只能通过相同(基础)类的实例访问.还要考虑使用抽象和最终限定符.
>针对接口而不是类的代码,积极地使用组合和聚合.习惯使用依赖注入.适当时使用众所周知的设计模式.
>熟悉反射和面向方面编程的元素.虽然在AoP领域提供的PHP很少,但它的反射子系统非常好.您可以在doc-block注释中使用@annotations来利用元编程.我经常使用它来注释具有单元测试位置的类.我还有一个ACL的实现,其中控制器方法注释(长话短说)必需的访问级别:
/** * @AclActivity('view-services') * @AclActivity('edit-services') */ public function editServiceAction() { ... }
>最后,不要局限于PHP.阅读其他语言,不仅是主流语言,还有模糊不清的语言 – 这些语言都充满了精彩的想法.查看Lisp,Erlang,Rebol.查找现有语言的不寻常应用程序,例如服务器端JavaScript编程.写你自己的语言.是的,它会很糟糕,但你会学到很多东西.