ホームページ  >  記事  >  バックエンド開発  >  PHPコードスタイル

PHPコードスタイル

WBOY
WBOYオリジナル
2016-06-13 13:15:29896ブラウズ

PHP コードスタイル
サードパーティのフレームワークを使用し、コード スタイルの指示を提供する場合は、そのコード スタイル標準に従います。それ以外の場合は、次のようにしてください。

== 形式:

* UTF-8 を使用してエンコード

* インデントには 4 つのスペースを使用し、タブは禁止されています

* Unix スタイルの改行 ( LF)

* カンマ、コロン、セミコロン演算子の後にスペースを使用します

* コード内で (, [, ],) の前にスペースを使用しないでください

* 4 つのスペースを使用してくださいブロック内のインデントの場合

* 階層インデントを使用します

* return メソッドの戻り値の前に空行を使用し (コードが 1 行しかない場合を除き)、2 つのメソッドの間に空行を使用します行の区別

* 2 つの大きな論理コードセグメント間の空行の区別を使用します

* 行数は 80 ワード以内、120 ワード以内に抑えます

* 標準の PHP タグを使用します区切りにより、短いタグ (ab90e1b15fa9bd92a0def3a269726396) の使用が禁止されます。PHP コードのみを含むファイル
の場合、PHP 終了タグ ("?>") の使用は禁止されます。ファイルの末尾に「/* ファイルの終わり 13fa444ed9b39e3119e4048c8bd4bc35 */"

* を示すコメント。単一行のコードもセミコロン (;)
== ネーミング:

* ファイル名には、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

わかりました!
PHPコードスタイル
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。