是否有任何命名php文件的约定?
不是在谈论php类文件,而是大多数HTML文件,其中包含一些php。
应该是my-file-example.php
还是myFileExample.php
还是myfileexample.php
?
答案 0 :(得分:11)
PHP中没有明确的命名约定,它们可能因框架而异。如果你不使用任何框架,你可以使用一个流行的:
此表非常有用,可以告诉您有关命名约定的更多信息(不仅是文件,还有类,方法和函数名称):
╔═══════════════════════╦═════════════╦════════════╦══════════════╦════════════╦════════════╗
║ PHP Project ║ Classes ║ Methods ║ Properties ║ Functions ║ Variables ║
╠═══════════════════════╬═════════════╬════════════╬══════════════╬════════════╬════════════╣
║ Akelos Framework ║ PascalCase ║ camelCase ║ camelCase ║ lower_case ║ lower_case ║
║ CakePHP Framework ║ PascalCase ║ camelCase ║ camelCase ║ camelCase ║ camelCase ║
║ CodeIgniter Framework ║ Proper_Case ║ lower_case ║ lower_case ║ lower_case ║ lower_case ║
║ Concrete5 CMS ║ PascalCase ║ camelCase ║ camelCase ║ lower_case ║ lower_case ║
║ Doctrine ORM ║ PascalCase ║ camelCase ║ camelCase ║ camelCase ║ camelCase ║
║ Drupal CMS ║ PascalCase ║ camelCase ║ camelCase ║ lower_case ║ lower_case ║
║ Joomla CMS ║ PascalCase ║ camelCase ║ camelCase ║ camelCase ║ camelCase ║
║ modx CMS ║ PascalCase ║ camelCase ║ camelCase ║ camelCase ║ lower_case ║
║ Pear Framework ║ PascalCase ║ camelCase ║ camelCase ║ ║ ║
║ Prado Framework ║ PascalCase ║ camelCase ║ Pascal/camel ║ ║ lower_case ║
║ SimplePie RSS ║ PascalCase ║ lower_case ║ lower_case ║ lower_case ║ lower_case ║
║ Symfony Framework ║ PascalCase ║ camelCase ║ camelCase ║ camelCase ║ camelCase ║
║ WordPress CMS ║ ║ ║ ║ lower_case ║ lower_case ║
║ Zend Framework ║ PascalCase ║ camelCase ║ camelCase ║ camelCase ║ camelCase ║
╚═══════════════════════╩═════════════╩════════════╩══════════════╩════════════╩════════════╝
请记住与命名约定保持一致。
答案 1 :(得分:2)
PSR-4 recommends使用目录层次结构来表示命名空间。
对于面向对象的编程,autoloader可以在运行时以相对较少的成本开销简化代码管理。这需要能够从类名确定文件路径 - 因此后者的线性变换是个好主意。这可能就像$className . ".php"
答案 2 :(得分:1)
PHP文件没有真正的约定。
你应该在你的项目中保持不变。
我建议您使用 camelCase 。
答案 3 :(得分:0)
我建议你使用下划线分隔符my_file_example.php
,CodeIgniter例如对它的视图文件使用这个约定。
使用破折号时,某些IDE /文本编辑器不会通过双击选择所有filname,而使用下划线时,通常会选择所有文件名。
答案 4 :(得分:0)
没有特定的核心php文件你必须使用自己的命名约定,但你可以根据你的文件工作命名。
像php文件只显示html然后给my_file_view.php
如果它有数据库操作,那么my_file_db.php
等功能和其他规格你可以使用它。
答案 5 :(得分:0)
您需要考虑以下两种惯例:
在最佳情况下,这两个是相同的。当框架试图强制执行某些自定义规则时,我通常会尝试避免这种情况。
无论哪种方式,最重要的是在整个项目中保持一致。一旦您选择了要遵循的约定,请坚持使用它直到您开始处理其他项目。没有什么比单个项目中的不同命名约定更糟糕了,如果我们谈论文件,类,方法或其他什么都无关紧要。保持一致。
答案 6 :(得分:-4)
您将使用文件名
来遇到包class.phpmailer.php or
ImapMailbox.php
(两者都包含 ClassName {} 的类)
(就个人而言,我大量使用camelCase作为fnames,我认为是var-habit。)