PHP コードスタイル
サードパーティのフレームワークを使用し、コード スタイルの指示を提供する場合は、そのコード スタイル標準に従います。それ以外の場合は、次のようにしてください。
== 形式:
* UTF-8 を使用してエンコード
* インデントには 4 つのスペースを使用し、タブは禁止されています
* Unix スタイルの改行 ( LF)
* カンマ、コロン、セミコロン演算子の後にスペースを使用します
* コード内で (, [, ],) の前にスペースを使用しないでください
* 4 つのスペースを使用してくださいブロック内のインデントの場合
* 階層インデントを使用します
* return メソッドの戻り値の前に空行を使用し (コードが 1 行しかない場合を除き)、2 つのメソッドの間に空行を使用します行の区別
* 2 つの大きな論理コードセグメント間の空行の区別を使用します
* 行数は 80 ワード以内、120 ワード以内に抑えます
* 標準の PHP タグを使用します区切りにより、短いタグ ( //... ?>) の使用が禁止されます。PHP コードのみを含むファイル
の場合、PHP 終了タグ ("?>") の使用は禁止されます。ファイルの末尾に「/* ファイルの終わり
* を示すコメント。単一行のコードもセミコロン (;)
== ネーミング:
* ファイル名には、snake_case メソッドを使用し、肥大化したファイル名の使用を禁止します
* 変数名には、snake_case メソッドを使用し、肥大化した変数名の使用を禁止します
* for ループを除き、ローカル変数 ($i など) として単一の文字を使用しないでください。
* グローバル変数として大文字を使用することは禁止されています。大文字を使用する場合は、SCREAMING_SNAKE_CASE を使用する必要があります。
* クラス名には CamelCase を使用し、メソッド名には CamelCase を使用します (HTTP、RFC、XML などの略語は大文字のままにしてください)
* 定数名には SCREAMING_SNAKE_CASE を使用します
// bad
superclass.php
SuperClass.php
superClass.php
$i = "foobar"; // 单字符变量只充许使用在for循环中
$bufferdText // 驼峰式变量,并且意思可以再精简些
$groupid // 两个单词之间需要下划线分开
$name_of_last_city_used // 太长
MyConstant // 应该用下划线并且字母没有全大写
N // 单字符
S_C_VER // 意思不清楚
class superclass
class superClass
function fileproperties() // 意思不清楚并且没有驼峰式命名
function fileProperties() // 意思不清楚
function getfileproperties() // 好些了,但没有驼峰式命名
// good
super_class.php
for ($i = 0; $i < 10; $i++)
$buffer
$group_id
$last_city
MY_CONSTANT
NEWLINE
SUPER_CLASS_VERSION
class SuperClass
function getFileProperties()
== 構文:
HTML に埋め込まれた PHP コードの場合、if、for、foreach、while などのコード ブロックの場合は、 if: ... endif for: ... endfor; を使用します。 . endforeach; および while: ... endwhile ;メソッド ブロック
...
<?php if ($user->isLoggedIn()): // checking logged in ?>
<!-- HTML goes here. -->
<?php endif; // end checking logged in ?>
<?php foreach ($users as $user): // loop users ?>
<!-- HTML goes here. -->
<?php endforeach; // end loop users ?>
...
== 注:
* ドキュメント ブロックは phpDocumentor 形式と互換性がある必要があります。 to: http://phpdoc.org/
* 冗長なコメントを避ける
/**
* 控制器类说明信息
*/
class Controller {
private static $instance;
public function __construct() {
...
}
/**
* 函数说明信息
*/
public static function &get_instance() {
...
}
/* End of file controller.php */
== その他:
* コードを単純にする
* 一貫性の維持
参考: CodeIgniter、ZendFramework、WordPress など
http://codeigniter.com/user_guide/general/styleguide.html
http: //framework.zend.com/manual/zh/coding-standard.coding-style.html
http://codex.wordpress.org/WordPress_Coding_Standards
その他Github https:// github.com/styleguide
HTML/CSS コード スタイル (英語)
http://google-styleguide.googlecode.com/svn/trunk/htmlcssguide.xml
JavaScript コード スタイル (英語)
http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml
Ruby スタイル (英語) https://github.com/chneukirchen/ を参照スタイルガイド/ブロブ/マスター/RUBY-STYLE
1階 ファーウェイ2772 2012-02-17