使用';。php';PHP类的扩展?
为php类附加use'.class.php'扩展是常见的做法吗 在PHP.net上,这里有如下示例:使用';。php';PHP类的扩展?,php,coding-style,php-5.3,Php,Coding Style,Php 5.3,为php类附加use'.class.php'扩展是常见的做法吗 在PHP.net上,这里有如下示例: // Or, using an anonymous function as of PHP 5.3.0 spl_autoload_register(function ($class) { include 'classes/' . $class . '.class.php'; }); 它使用.class.php扩展名 PHP代码应该这样编写吗?我以前从未见过它,它是新的吗?这是PHP中的一
// Or, using an anonymous function as of PHP 5.3.0
spl_autoload_register(function ($class) {
include 'classes/' . $class . '.class.php';
});
它使用.class.php
扩展名
PHP代码应该这样编写吗?我以前从未见过它,它是新的吗?这是PHP中的一种新特性,所以可能是吗
编辑:“功能”不是一个好词!也许我应该问问这是标准还是惯例
谢谢。这主要用于确保它是自动加载程序的目标类文件,您通常有其他.php文件,如模板、脚本(如引导文件)或配置文件,这些文件都是.php文件,但决不能解释为类对于包含类的php文件,绝对不需要使用.class.php扩展名。但它也不会破坏任何东西。它不是一个功能,它只是一个你不时看到的惯例。是否遵循它是您和您的团队的选择 我个人的观点是,既然选择是武断的,而且这种特殊的风格和你们的观点相矛盾,你们应该通过考试,因为:
- PSR-0的应用范围更广,所以在所有其他条件相同的情况下,它将是一个更好的约定
- 遵循“.class.php”样式意味着不能使用符合PSR-0的自动加载器(网上有很多)并且在没有修改的情况下使用它
在我参与的一个项目中,类名为*.inc.php,模板名为*.tpl.php。如果我大约在1999年编写php,这将是一个很好的惯例。您可以随意命名文件,但我建议您仅以文件中的类名命名,并附加“.php”。这更多是个人偏好,但我实际上可能会研究一些标准,这些标准为您命名和命名类提供了一种标准方法,以更好地兼容相同格式的其他人的代码 在PSR-0标准中,PHP文件以类命名,并放入与名称空间相关的文件夹中
我建议在php.net手册中提到的
.class.php
方法上采用这种方法。这不是一种功能,它只是一种非常简单实用的方法,可以使代码保持条理,更重要的是,避免自动加载问题
假设您有一个名为User
的类,并且您的站点有一个由脚本生成的页面:User.php
。如果需要User
类的实例,将调用autoloader函数,并获取User
作为参数。在查找一个名为User.php
的文件时,可能会包含一个文件,而不是类定义。这就是为什么您可以(并且应该)在类的名称中增加一点类定义。然后,您可以编写自动加载器来查找[[classname]].class.php
,巧妙地避开User.php
文件
这是它的底线。当然,也要考虑名字空间,最重要的是让你的代码组织起来的最现代方式:目录(<代码> StIsIsPixDePosie)/P>这是惯例,而不是特征。你可以随意调用你的文件。例如,添加一个
.blah.which
扩展名或根本不添加扩展名都是非常有效的。建议至少使用.php
,因为这有助于确保用户直接导航到文件的URL时,代码在服务器端进行评估,而不是作为纯文本提供。除了一些控制器配置之外,现在不是大多数php文件类。@user247245:不,不是“大多数php”。只有在项目是使用OOP完成的情况下才可以。问题并不意味着这是一项功能——当他说“这是一项新功能”时,他通常指的是类。@PWhite:PHP拥有类的时间比我记忆中的要长——大概10年左右是对的——所以我不确定它们将如何成为一项新功能。我必须检查一下。不知道PHP5是2004年的。时间过得真快。@PWhite:更不用说他们也在PHP4了