PHP中新类声明的语法

时间:2016-11-16 22:50:04

标签: php syntax warnings error-reporting maintainability

我继承了以前分配给另一家开发公司的php项目,我经常看到非常奇怪的代码实现,这是我以前从未见过的,我认为可能是错误。也就是说,它们无处不在,服务器日志不会抱怨它们或发出警告。 <{1}}可能已在某处关闭。

例如,我看到很多这样的类声明:

error_reporting

这对我来说很奇怪,因为我只见过使用$registration = new EventRegistration; 完成的课堂实例:

new

有人可以澄清这是不正确/不是最佳做法/可行吗?

我认为这只是一个语法错误,会编译,但在技术上是错误的。类似于人们使用$registration = new EventRegistration(); 而不是$array[key]这样的数组语法的东西。这是对的吗?

感谢。

1 个答案:

答案 0 :(得分:1)

使用new关键字想要创建一个新对象,如果该对象不需要任何参数(如__construct()方法中所定义的那样),那么完全没问题就会遗漏{{1} }。

()

在这种情况下,如果您没有传递任何参数,则只有class foo{ function __construct(){} } // valid class bar{ function __construct($arg = null){} } // valid class foobar{ function __construct($arg){} } // not valid 会触发警告。我会说这是一个偏好的问题。

foobar会说$array[key]是一个常数,可能会触发警告。