2017-05-18 33 views
3

命名php文件是否有任何約定? 不是在談論php類文件,而是大多數HTML文件,裏面有一些php。 是否應該是my-file-example.phpmyFileExample.phpmyfileexample.php命名php文件

+0

對於投票的人來說,這是一個基於意見的問題 - 事實並非如此。 OP並沒有問哪個規範是最好的,而是在PHP世界中存在哪些標準。這與意見無關。 – walther

回答

2

PHP中沒有明確的命名約定,它們可以因框架而不同。如果你不使用任何框架u可以使用的流行的一種:

  1. with_underscores
  2. PascalCased
  3. 駝峯格式

這個表可以是有用的,告訴你關於命名約定更多的東西(不僅文件而且類別,方法和功能名稱):

╔═══════════════════════╦═════════════╦════════════╦══════════════╦════════════╦════════════╗ 
║  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 ║ 
╚═══════════════════════╩═════════════╩════════════╩══════════════╩════════════╩════════════╝ 

記得要保守nt與命名約定。

+0

最後一句應該被解析爲一個笑話。 ;) – Teson

1

PHP文件沒有真正的約定。

你應該保持你的項目一樣。我推薦你使用Camelcase

+1

不應該是駱駝案? – Teson

0

我建議你使用下劃線分隔符my_file_example.php CodeIgniter爲它的視圖文件使用這個慣例。

使用破折號,某些IDE /文本編輯器不會通過雙擊它來選擇所有的filname,而使用下劃線時通常會選擇所有的文件名。

2

PSR-4 recommends使用目錄層次來表示名稱空間。

對於面向對象的編程,autoloader可以在運行時以相對較低的成本開銷簡化代碼管理。這需要能夠從類名確定文件路徑 - 因此後者的線性變換是一個好主意。這可能很簡單$className . ".php"

0

沒有具體的核心PHP文件,你必須使用自己的命名約定,但你可以在你的文件工作的基礎上命名。

像PHP文件只顯示那麼HTML給my_file_view.php 如果有數據庫操作,然後my_file_db.php

等的功能和其他規格,你可以使用它。

-2

你在所有使用的文件名包來作爲

class.phpmailer.php or 
ImapMailbox.php 

(均包含類與類名{}

(就個人而言,我使用駝峯巨資用於fnames,從VAR-習慣我猜測。)

+0

這是如何以任何方式回答問題的? – walther

+0

是的。你是對的。 – Teson

0

通常有你需要考慮到2個約定:

  1. 使用框架
  2. PSR-4

在最好的情況這2個是相同的。當框架試圖強制某些自定義規則時,我通常會盡量避免出現這種情況。

無論哪種方式,最重要的是在整個項目中保持一致。一旦你選擇一個遵循的慣例,堅持下去,直到你開始一個不同的項目。沒有什麼比單個項目中的不同命名約定更糟了,如果我們正在討論文件,類,方法或其他什麼都沒關係。始終如一。