我继承了以前分配给另一家开发公司的php项目,我经常看到非常奇怪的代码实现,这是我以前从未见过的,我认为可能是错误。也就是说,它们无处不在,服务器日志不会抱怨它们或发出警告。 <{1}}可能已在某处关闭。
例如,我看到很多这样的类声明:
error_reporting
这对我来说很奇怪,因为我只见过使用$registration = new EventRegistration;
完成的课堂实例:
new
有人可以澄清这是不正确/不是最佳做法/可行吗?
我认为这只是一个语法错误,会编译,但在技术上是错误的。类似于人们使用$registration = new EventRegistration();
而不是$array[key]
这样的数组语法的东西。这是对的吗?
感谢。
答案 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]
是一个常数,可能会触发警告。