我应该为我的类大写构造函数名称吗?

Cli*_*ote 0 php naming-conventions

我使用camel case,它的所有变量名,函数等的第一个字母都是小写的.但是班级名称是大写的.我应该使用:

class Foo
{
   function foo()
   {

   }   
}
Run Code Online (Sandbox Code Playgroud)

要么 :

class Foo
{
   function Foo()
   {

   }   
}
Run Code Online (Sandbox Code Playgroud)

哪个更好的约定?我糊涂了.

Pet*_*ley 11

命名构造函数是PHP 4约定.是的,当你这样做时,你应该匹配类的情况.

但PHP 4现在是旧闻.PHP 5几年来一直是事实上的版本.PHP 5使用常量构造函数名称__construct.无论班级名称如何,总是如此.

class a
{
  public function __construct()
  {}
}

class b
{
  public function __construct()
  {}
}
Run Code Online (Sandbox Code Playgroud)


jas*_*son 6

老实说,不是.

你应该使用__construct()当然,除非你被链接到相当古老的PHP4,然后你完全匹配类的名称.


Joh*_*ica 5

构造函数名称应与类名匹配,因此Foo.这是惯例,不仅在PHP中,而且在它复制的语言中:Java,C#和C++.在这些语言中,标识符区分大小写,因此名称必须相同.

  • 好吧,Foo是旧式的构造函数名称.新样式使用__construct.但你还是对的:) (3认同)