我应该如何命名我的PHP类文件?

joh*_*ack 36 php class naming-conventions

我已经看到许多不同的命名方案和扩展用于PHP文件,基本上只是类.一些例子:

  1. myClass.php
  2. myClass.class.php
  3. myClass.class

有什么区别,哪个更好?

Nat*_*ate 44

你的编码标准是什么?

使用大写字母(例如:)启动类名是很常见的class MyClass.如果您这样做,那么您将命名该文件MyClass.php.也MyClass.class.php有效.

MyClass.class是一个坏主意,如果他们按名称请求该文件,可能允许某人查看您的源代码.使用.php扩展名可确保用户只有在PHP解释器处理文件后才能看到输出,对于只包含类的文件而言,该文件是空白页.

最后,请查看autoload(),这样可以省去调用require_once以加载课程的麻烦.


更新:使用PHP编码标准PSR-4,现在有一种半官方的方式来命名您的类文件.以前的建议 - 将您的类文件命名为与具有.php扩展名的类相同- 仍然存在.但是现在要将该类文件放在以类命名空间命名的子目录中; PSR-4要求所有类都包含在您定义的命名空间中.

你得到了什么?自动加载免费!如果您正在使用Composer,则可以为类指定顶级目录,Composer将自动加载它们.没有更多require语句来加载您的类.

如果您不想这样做,则不必:PSR-4是推荐,而非要求.

  • 另外还有一个用MyClass.class引发的安全问题 (2认同)

cha*_*aos 40

除了你所看到的,没有任何区别.与个位.class,如果你使用是有帮助的自动加载,并没有在您的类文件住的特定目录.否则,它完全是武断的.(我以前用过ClassName.class.php.)

  • 我排在第二位...... ClassName.class.php. (3认同)

Tho*_*ens 5

我更喜欢MyClass.php--与类完全相同的名称(包括大写).

但是,如果您正在处理现有项目,则应使用项目具有的任何命名方案.