2009-07-28 77 views
7

首先,我承认我是关于这样的事情的肛门。 (坏的,坏的我)然而,我只是想知道什么被认为是命名PHP包含文件的最佳实践。PHP包含文件扩展名最佳做法

作为基本案例,我将保留.php作为最终扩展名(以防止未解析的文件被抓取),但为了帮助区分前端文件和包含文件,我是无论是打算:

  1. 名称包括文件XXX.inc.php

  2. 名称通用(非类)作为上述文件和类定义为ClassName.class.php的所有(可能派上用场自动装载机的利用率下降,但我不是自动装载机的大风扇。)

我目前饱满的选项2,但如果有,你会推荐其他任何建议或意见的位,我只是想知道。

回答

7

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

  • 如你所说,这有助于防止未经解析的文件被提取
  • 它也有助于IDE /编辑基于文件名是做语法着色:你没有配置它将“.inc”视为一个PHP文件。

虽然我有其他的情况,主要原因是当我使用一个有关文件命名规则的工具(CMS,Framerwork,library,...)时:即使我不喜欢它们,我倾向于遵循这些规则。

例如:

  • 使用Drupal,我用 “公司”, “.module”, “.install”,...
  • 与Zend框架,我用 “一个.phtml” 为查看脚本(HTML + PHP)

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

一点题外话:你说你是不是自动加载机的大风扇;为什么?
我使用这些,就像我可以:

  • 通常获得更好的性能:只有你真正使用的代码加载/解析的
  • 更少的代码来写(不require/include
6

我对类文件使用ClassName.class.php,对非类文件使用​​。

不是粉丝.inc.php。看起来有点不对,如何描述文件可能被导入,而不是其内容。

+0

我通常使用`.inc`文件来包含静态HTML。所以,`login.inc` – 2009-07-28 15:59:12

+1

如果你看看那里的许多框架,如果你有一个你的类的文件夹,没有必要把一个.class.php放在那里。另一方面,如果你只有一个包含所有文件的“应用程序”文件夹,那么也许,但我只是说重新考虑你的文件夹结构。 – Garrett 2009-07-28 16:23:44