|
|
1
13
所有这些提出的解决方案都会使您的代码复杂化,以便弯曲PHP来实现一些语法上的精确性。想要PHP成为它不好的东西(比如好的东西)是走向疯狂的道路。 我只会使用:
它清晰、相对简洁,不涉及 魔法 这可能会引入错误。 当然,你总是可以转向Ruby或Python。它将改变你的生活。
|
|
|
2
8
这是一个可能的解决方案:)当然,您应该为函数选择一个更好的名称。.. 或者,如果你不介意有点开销:
|
|
|
3
6
一个简单的快捷方式
是
|
|
|
4
5
没有理由把破解(解决语法问题)和对象创建代码本身粘在一起。 由于新表达式不能用作对象运算符的左成员,但函数调用表达式可以,因此您只需要将对象包装在对返回其自身参数的函数的调用中:
|
|
|
5
4
获得类似结果的唯一方法是使用工厂或单例静态方法。例如:
它使用PHP5反射API创建一个新实例(使用发送到:instance()的任何参数),并返回它,允许您执行链接:
顺便说一句,代码足够灵活,在复制静态方法时,您唯一需要更改的就是PHPDoc注释的@return。 如果你想像我们的朋友Nelson一样过早地优化你的代码,你可以将User::instance()的内容替换为:
|
|
|
6
1
|