PHP包括文件扩展名最佳实践

Joh*_*ker 7 php frameworks include

首先,我承认我对这些事情嗤之以鼻.(糟糕,糟糕,我.)但是,我只是想知道在命名PHP包含文件方面什么是最佳实践.

作为一个基本情况,我将保留.php作为最终扩展(以帮助防止未解析的文件被提取),但为了帮助区分前端文件和包含文件,我要么:

  1. 所有包含文件命名为XXX.inc.php

  2. 将上面的通用(非类)文件命名为ClassName.class.php的类定义(虽然我不是自动加载器的忠实粉丝,但可能对于自动加载器的使用很有用.)

我目前正在考虑选项2,但我只是想知道是否有任何其他建议或建议.

Pas*_*TIN 7

首先,当你说所有PHP文件都应该有".php"作为最后的扩展名时,我完全同意你的观点.两个原因:

  • 正如您所说,它有助于防止取出未解析的文件
  • 它还有助于IDE /编辑器根据文件名进行语法着色:您不必将其配置为将".inc"视为PHP文件.

但有些情况我不这样做; 主要原因是我使用的工具(CMS,Framerwork,库,...)有一些关于文件命名的规则:我倾向于遵循这些规则,即使我不喜欢它们.

例如 :

  • 使用Drupal,我使用".inc",".module",".install",......
  • 使用Zend Framework,我使用".phtml"作为视图脚本(HTML + PHP)

对于包含类的文件,我不喜欢".class.php":我认为它有点多余; 我倾向于使用"MyClassName.php",并将其用于自动加载.
(顺便说一句,这就是像Zend Framework或Doctrine ORM推荐的Frameworks)

作为旁注:你说你不是自动加载器的忠实粉丝; 为什么?
我尽可能多地使用它们:

  • 通常更好的性能:只加载/解析您真正使用的代码
  • 写的代码少(没有require/ include)


cha*_*aos 6

ClassName.class.php用于类文件和SomeDescription.lib.php非类文件.

不是粉丝.inc.php.似乎在某种程度上错误地描述了文件的可能性,而不是其内容.

  • @Garret我更喜欢.class.php扩展,完全不考虑文件夹结构.这是毫不含糊的. (2认同)