Php 必须定义不';不要初始化任何东西?

Php 必须定义不';不要初始化任何东西?,php,oop,constructor,Php,Oop,Constructor,如果您有一个构造函数不初始化任何东西的类,那么有必要定义构造函数吗?省略空构造函数是好的还是坏的做法?有没有明显的副作用 例如: <?php class Foo { private $bar; public function __construct() { // No initialization logic } // ... rest of class } 对于最佳实践,您应该始终放置一个空构造函数,如果您想添加一个带参数的构造函数

如果您有一个构造函数不初始化任何东西的类,那么有必要定义构造函数吗?省略空构造函数是好的还是坏的做法?有没有明显的副作用

例如:

<?php
class Foo
{
    private $bar;

    public function __construct() {
        // No initialization logic
    }

    // ... rest of class 
}

对于最佳实践,您应该始终放置一个空构造函数,如果您想添加一个带参数的构造函数,则这取决于您的需要。

如果扩展其他类,则空构造函数将覆盖任何继承的构造函数,因此可能会导致问题。如果类扩展另一个类,则可以定义/不定义构造函数影响你的代码。否则-跳过空构造函数,不要使代码复杂化。不,这不是必需的。这并不特别难测试。关于良好实践,这是一个意见问题。为什么是最佳实践?顺便说一句,我没有否决你的答案。我否决了,因为这个答案没有根据,没有来源,也没有解释。构造函数不是必需的,当使用继承时,空构造函数实际上可以按照注释中的建议破坏代码。@Devon对我来说,我总是在开始时进行空构造函数,因为有时我不需要使用parameters@HamzaTorjmen如果不需要注入依赖项(或者如您所说的参数),那么为什么要编写构造函数呢?当您开始开发大型应用程序时,您会发现您的许多类将扩展其他类。