我知道这个问题听起来像是在刻意追求积分,但是让我解释一下我的意图。
我大学毕业后在一个PHP团队找到了工作。我在那里工作了一年半,认为自己已经学会了所有关于编程的东西。
后来,我在一个规模相当大的公司担任一人内部开发岗位,所有的工作都是用C#完成的。为了胜任这份工作,我开始阅读大量的博客和书籍,很快就意识到我曾经认为自己已经掌握了所有技能是多么的错误。我学习了单元测试、依赖注入、装饰器模式、松耦合设计原则、组合优于继承的争论等等——至今仍在不断吸收学习。毫无疑问,过去一年中我的编程风格完全改变了。
现在,我发现自己正在为朋友的初创公司开发一个PHP项目,并感到完全受限制,与使用C#编程形成了鲜明对比。对我来说,所有类范围内的变量必须通过'$this->'来引用真的很烦人。我很烦恼试过的所有IDE都没有很好的智能提示,而我的SimpleTest单元测试方法必须以单词“test”开头。动态类型让我不能隐式地指定方法期望的参数类型,并且您必须编写switch语句来进行方法重载。我无法忍受你不能有嵌套的命名空间并且必须使用::运算符来调用基类的构造函数。
现在,我并不想发起PHP vs C#的辩论,我只是想说,我相信在PHP中有一些功能我还不知道或者还没有正确使用过。我已经习惯了C#的编程环境,很难看到外面的新鲜事物。
因此,我想问问您,您最喜欢的PHP功能是什么?在PHP中有哪些事情是您可以做但.NET语言更难实现的呢?