ホームページ  >  記事  >  バックエンド開発  >  PHPプログラミング仕様

PHPプログラミング仕様

WBOY
WBOYオリジナル
2016-06-23 14:31:191000ブラウズ

私は常に PHP 関数のスタイルで PHP を記述してきました。変数、関数、クラスはすべて小文字で、単語はアンダースコアで区切られます。個人的には、キャメル ケース コードの仕様に常に反対しています。大文字と小文字の違いは、その間にコードを書くのが非常に面倒ですし、PHP 自体の関数はすべて小文字なので、この形式を使用しないのはなぜでしょうか。

良いコードを書く習慣 + 良いコメントの習慣 + PhpDocumentor = プログラム マニュアル

統一された IDE 開発環境、詳細なタスクのコーディング プロセス、および完全なコード テスト (SimpleTest など) と組み合わせる場合、チームはきちんとしたコードを書く習慣を身に付ける必要があります。 , そうすれば、チーム全体の開発効率が大幅に向上します。

IDE が Eclipse の場合は、SimpleTest を使用して http://www.guogoul.com/2008/05/19/simpletest_1/

を参照してください。

注: この仕様は、SINA から借用したものです。 EasyChen ネットワークアプリケーション開発部の「C++開発仕様書」とインタラクティブテクノロジー部の「PHP4開発仕様書」、phpDocument仕様書がまとめられた開発仕様書は非常に優れており、PHP開発に適していると思います。参考までに、適切なプログラミング スタイルを開発することは非常に必要です。 (再掲)

第1章 命名規則 1.1 変数 1.1.1 グローバル変数
グローバル変数は、$g_data_list のように、$g_ で始まります。

1.1.2 一般変数
一般変数は小文字で名前が付けられ、単語はアンダースコアで区切られます。
変数名には名詞、または形容詞+名詞を使用する必要があります。 $value、$new_value など。

1.1.3 一時変数
ループ内で頻繁に使用される $i、$j などの一時変数を他の目的で使用しないでください。

1.2 関数
関数の名前は小文字で付けられ、単語はアンダースコアで区切られます。
get_user_img などの関数に名前を付けるときは、動詞 + 名詞を使用することをお勧めします。
一連の関数を完成させる関数をファイルに入れます。関数を保存するファイルの名前は function_name.func.php です。

1.3 クラス
クラスでは、最初の単語を含む単語の区切りに英語の大文字化が使用され、PageManager のように、すべての単語の最初の文字が大文字になります。
クラス内では、メソッドが属性定義の前に配置され、パブリック メソッドは特別なメソッドの前に配置します。
通常、クラスは 1 つのファイルに対応します。
いくつかのクラスが密接に関連している場合は、1 つのファイルに格納できます。
クラスを格納するファイルの名前は ClassName.class.php です。

1.4 メソッド
このメソッドは、最初の単語を除き、他の単語の最初の文字を大文字にします。
where2go(); などの珍しい略語は使用しないでください。一般的に使用されるもの 短縮する場合は、getHtml() のように最初の文字のみを大文字にします。

第 2 章 書式規則

2.1 セマンティック分離

各関数とメソッドの間には空行間隔を使用する必要があります。
同じ関数内の密接に関連するステートメントは、他の場合に改行する必要はありません。

2.2 スペースの規則

2.2.1 論理演算子の前後にはスペースが必要です

正しい $a == $b;
エラー $a==$b;
$a ==$b;
備考-

正解$ a++; $a?;

エラー $a ++; $a ?;
備考: 1 を加算する演算子と 1 を減算する演算子ではスペースを追加できません。

2.2.2 複数のパラメータを区切る場合はスペースを追加する必要があります

正しい $g_pro, $g_user, g_show;
get_db_info($host, $user, $passwd);
エラー $g_pro,$g_user,$g_show;
get_db_info( $host,$user,$passwd);
備考-

2.2.3 構文キーワードの後に​​スペースを追加する必要があります

例: If、for、while、switch…..

($i = 0 の場合は正しい) ; $i ($i = 0; $i
2.3 文字列と変数の接続ルール '. ' 記号、'.' の前後にスペースを追加する必要があります。" 記号を使用する場合は、変数の前後に "{}" を追加する必要があります。


正しい $my_name = 'file_' . $var1;

$my_name = "file_{$var1}";

エラー $my_name = ”file_'.$var1;
$my_name = ”file_$var1″;
備考-

2.4 括弧の規則

括弧の後にスペースを追加する必要はありません関数名、および構文キーワードの後の括弧の後にスペースを追加する必要があります。


($i = 0; $i strlen($my_name);

($i = 0; $i strlen ($my_name) は間違っています;
備考-

2.5 中括弧の規則

中括弧は上部と下部に対応している必要があります。


正しい

if ($a)

{
$b = $a;
}

誤ったif ($a){

$b = $a;

}

備考-

2.6 配列定義規則

配列を定義して使用する場合は、キー値の前後に一重引用符を配置する必要があります。

PHP コード:

ダウンロード: php_array.php //正しい

array(

'name' => 'd5s.cn',
'gender' => 'php'
);
//間違った
array (
name => 'd5s.cn',
gender => 'php'
);
?>

2.7 SQL ルール

PHP に埋め込まれた SQL ステートメントのキーワードはすべて大文字です。フィールド名のスペースによるエラーを防ぐために、バックティック (`) で囲む必要があります。

データ値は両側を一重引用符で囲み、SQL インジェクションを防ぐためにデータ値内の単一引用符をエスケープする必要があります。

正しい $sql = ”SELECT `user`.`name` FROM `user` WHERE `id` = '$id' LIMIT 1″;
エラー $sql = ”select name.user from name where id = $id ”;
備考-

第 3 章 コメント規則

3.1 一般規則
コメントは、ロジックをうまく説明できない場合にコードを補足するためにのみ使用してください。 /Write/ を記述するときは、コメントをプログラムの一部として考慮してください。コードを維持しながらコメントを維持します。
コメントは API レベルのドキュメントの生成を容易にするために PHPDocumentor の仕様を完全に採用します。

3.2 詳細なルールについては、

PHPDocumentor マニュアルを参照してください。各部位のアノテーション例を以下に示します。

3.2.1 著作権情報

アノテーション名著作権情報
アノテーションのデモ //
// +??????????????????-+
// | phpDocumentor |
/ / + ??????????????????-+
// | Copyright (c) 2000-2003 Joshua Aichorn |
// | 電子メール jeichorn@phpdoc.org |
// | Web http://www.phpdoc.org |
// +??????????????????-+
// このソース ファイルは PHP ライセンスの対象です |
// +? ????????????????-+
//
備考 PHPDocumentor のページレベルの DocBlock
との競合を避けるために、// を使用して著作権情報をマークします。コメント例

コメント名 ファイルヘッダー コメント

コメントデモ


ダウンロード: php_doc.php * インラインタグのすべての抽象表現はこのファイルにあります

* @package phpDocumentor

* @subpackage InlineTags
* @since バージョン 1.2 以降の別ファイル
* @ version $Id $
*/
?>

備考

1 ファイルヘッダーのコメントは、それが属するパッケージとサブパッケージを示す必要があります

2 CVS の使用を容易にするために @version に $ID を追加して管理しますファイル

3.2.3 クラスのコメント 例

アノテーション名 クラスのアノテーション

アノテーションのデモンストレーション

ダウンロード: php_class.php /**

* この要素は、{@}link} のような {@}インライン タグ} を表すために使用します

* @see parserStringWithInlineTags
* @package phpDocumentor
* @subpackage InlineTags
* @author Greg Beaver
* @since 1.0rc1
* @バージョン $Revision: 1.21.2.6 $
* @tutorial inlinetags.pkg
*/
?>

備考-

3.2.4 クラス属性のアノテーションの例

アノテーション名 クラス属性のアノテーション

アノテーションのデモ

ダウンロード: php.php /**var $type = 'inlinetag';

* 要素の型

*
* 型は、面倒な作業をスキップするために多くの関数で使用されます
*
*
* if get_class($blah) == 'parserBlah'
*
* always "インラインタグ"
* @var string
*/
?>

備考-

3.2.5 関数/クラスメソッドのアノテーションの例

アノテーション名 関数/クラスメソッドのアノテーション

注釈のデモ

ダウンロード: php .php /**function getString() '';

* @return string always ''

* DocBlock の短い説明を計算します
* @see parserStringWithInlineTags::getString()
* @see parserStringWithInlineTags::trimmedStrlen()
*/

{

return

}
?>

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