何时在新类名后添加括号?

时间:2012-02-17 09:07:46

标签: php class

  

可能重复:
  PHP class instantiation. To use or not to use the parenthesis?
  Omission of brackets and parameter-less object constructors

无论有没有括号,新类似乎都没有打扰。所以,我怀疑括号()的用法是什么。我搜索php手册,没有得到它。有人可以解释一下吗?

1 个答案:

答案 0 :(得分:6)

括号的目的是输入构造函数可以接受的任何参数。

class Example{

    private $str;

    public function __construct($str){
        $this->str = $str;
    }

    public function output(){
        echo $this->str;
    }

}

$ex = new Example; // missing argument error
$ex = new Example('Something');
$ex->output(); // echos "Something"

如果您的类构造函数不接受任何参数,您可以将括号括起来。为了良好的代码,我总是保留括号,无论构造函数是否接受任何参数。

大多数来自C#或Java背景的编码员会保留括号,因为它更熟悉它们。