PHPコードパターン
サードパーティフレームを使用し、コードスタイルの説明がある場合は、コードスタイルの基準に従います.
==フォーマット:
*UTF-8を使って符号化する
*4つのスペースを使ってインデントし、Tabを使用してはいけません.
*Unixスタイルの改行(LF)
*コンマ、コロン、セミコロンでスペースを使う
*(、[後ろ、])の前にはスペースは使用されません.
*コードブロックに4つのスペースを使ってインデントする
*階層インデントを使う
*returnメソッドの戻り値の前に空行(1行のコードのみでない限り)を使用し、2つの方法で空行の区分を使用します.
*2つの大きな論理コードセグメントの間に空行の区分を使用する
*行の文字数は80文字以内で、最大120を超えない
*標準のPHPラベルの境界を使用して、短いラベルの使用は禁止されています(PHP終了フラグ("?")の使用は禁止されており、ファイル末尾にはコメントを使用して説明しています.
*単一行コードもセミコロン(;)で終了しなければなりません.
==名前:
*ファイル名はスネーク(u)を使用します.case方式、太ったファイル名の使用を禁止します.
*変数名はsnake(u)を使います.case方式で、太った変数名の使用を禁止します.
* 単文字を局所変数として使用することを禁止します.
* 大文字をグローバル変数として使用することは禁止されています.大文字はSCREAMING(u)を使用します.SNAKE_CASE方式
*クラス名はCamelCase方式を使用し、メソッド名はcamelCase方式を使用する(HTTP、RFC、XML略語の大文字を保持する)
*定数名はSCREAMING_を使用するSNAKE_CASE方式
HTMLに埋め込まれたPHPコードについては、if、for、foreach、whileなどのコードブロックに対して、if:…endifを採用する.for:...endfor;foreach:...endforeach;とwhile:...endwhile;メソッドブロック
*ドキュメントブロックはphpDockmentorフォーマットと互換性が必要です.参照してください.
http://phpdoc.org/
*余計な意見は避ける
*コード保持が簡単
*一貫性を保つ
参考:CodeIgniter、ZendFraamework、Wordpressなど
http://codeigniter.com/user_guide/general/style guide.
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/styleguide/blob/master/RUBY-STYLE
==フォーマット:
*UTF-8を使って符号化する
*4つのスペースを使ってインデントし、Tabを使用してはいけません.
*Unixスタイルの改行(LF)
*コンマ、コロン、セミコロンでスペースを使う
*(、[後ろ、])の前にはスペースは使用されません.
*コードブロックに4つのスペースを使ってインデントする
*階層インデントを使う
*returnメソッドの戻り値の前に空行(1行のコードのみでない限り)を使用し、2つの方法で空行の区分を使用します.
*2つの大きな論理コードセグメントの間に空行の区分を使用する
*行の文字数は80文字以内で、最大120を超えない
*標準のPHPラベルの境界を使用して、短いラベルの使用は禁止されています(PHP終了フラグ("?")の使用は禁止されており、ファイル末尾にはコメントを使用して説明しています.
*単一行コードもセミコロン(;)で終了しなければなりません.
==名前:
*ファイル名はスネーク(u)を使用します.case方式、太ったファイル名の使用を禁止します.
*変数名はsnake(u)を使います.case方式で、太った変数名の使用を禁止します.
* 単文字を局所変数として使用することを禁止します.
* 大文字をグローバル変数として使用することは禁止されています.大文字はSCREAMING(u)を使用します.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;foreach:...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 ?>
...
==コメント:*ドキュメントブロックはphpDockmentorフォーマットと互換性が必要です.参照してください.
http://phpdoc.org/
*余計な意見は避ける
/**
*
*/
class Controller {
private static $instance;
public function __construct() {
...
}
/**
*
*/
public static function &get_instance() {
...
}
/* End of file controller.php */
==その他:*コード保持が簡単
*一貫性を保つ
参考:CodeIgniter、ZendFraamework、Wordpressなど
http://codeigniter.com/user_guide/general/style guide.
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/styleguide/blob/master/RUBY-STYLE