ホームページ >バックエンド開発 >PHPチュートリアル >PHP コーディング標準 PHP コーディング標準_PHP チュートリアル

PHP コーディング標準 PHP コーディング標準_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 14:57:57884ブラウズ

一般原則:
1. 意味
名前を見れば意味がわかります。

2. 共通の接頭辞
はかどうかを意味し、get は読み取りを意味し、set は書き込みを意味します。 is の後には名詞ではなく形容詞が続きます。たとえば、テキストが多言語の場合は、is_multi language の代わりに is_multilingual を使用する必要があります。

3. 単数と複数
js の関数命名規則を参照してください: getElementById、getElementsByTagName、getElementsByName。
例:
複数の友達の名前を取得するには、getFriendNames または getFriendName の代わりに getFriendsName を使用する必要があります
ユーザーを取得するには、getUser です
複数のユーザーを取得するには、getUsers

4 を使用してください。データ、リスト、情報の接尾辞は使用しないでください。
たとえば、js の名前付けに注意して、getElementsInfoByTagName の代わりに getElementsByTagName を使用してください。
getFriendsList の代わりに getFriends または getFriendsUserId を使用する必要があります。getUserInfo または getUserData の代わりに getUser を使用する必要があります。
しかし、場合によってはそれを避けるのが難しい場合があります。たとえば、ユーザーの基本情報を取得する機能と、ユーザーの詳細情報を取得する機能があります。
基本的なユーザー情報を取得します: ニックネーム、アバター URI、関数名 getUserBasic または getUserBasicInfo?関数名が形容詞で終わるのは、議論するのに不適切な気がします。
ユーザーの詳細を取得: ニックネーム、アバター URI、署名、誕生日、関数名 getUser は問題ありません。

5. あいまいなクラス名、ファイル名、ディレクトリ名
common、util、functions、class、object、basic をファイル名として使用するときは注意してください。発展すればするほどゴミ箱になってしまいます。たとえば、文字列処理を行うクラスには StringLib.php という名前を付け、lib ディレクトリに配置します。

6. ライブラリ、プラグイン、アドオンの違い
一部のクラスと関数は、ライブラリ、プラグイン、またはアドオンとしてカウントされます。話し合います。

クラス名:
大文字で始まり、キャメルケースで名前を付けてください。通常は、ParseConfig の代わりに構成解析クラス ConfigParser などの名詞を使用します。
Java および C++ と一貫性があります。
例: class UserModel

クラスのファイル名:
クラス名と同じ。これは php の自動ロードに関連しており、自動ロードの場合、クラス名は常に非常に長くなければなりません。
Javaと一貫性があります。
例: UserModel クラスのファイル名は UserModel.php です

非クラス ファイル名:
すべて小文字で、アンダースコアで区切られ、スペースは許可されません。たとえば、get_user.php。

ディレクトリ名:
すべて小文字、アンダースコアで区切られ、スペースは使用できません。モデルさんとかwww

関数名:
小文字で始まり、キャメルケースで名前を付けます。例: function addBlog()。
Java および C++ と一貫性があります。
Function は関数、つまりアクションを表すため、動詞が優先されます。たとえば、blogEdit の代わりに editBlog を使用します。
歴史的な理由により、PHP の組み込み関数には do_something、something_do、dosomething などの多くのスタイルがあり、新しい関数は現在の主流言語との一貫性を保つために doSomething を使用します。
例: paser_str、json_encode、substr、fetchAll。
歴史的な理由は変更できないかもしれませんが、新しいコードが厳格であることを保証し、歴史的な理由にならないようにすることはできます。

クラス内の関数:
2 つの関数の間には空の行があります。時間があれば、混乱を避けるために関数をアルファベット順に並べ替えてください。
例:
クラスBlogModel
{
public function addblog()
;?php next line。著者の功績です。 svn がバージョン管理を提供するため、@version をまだ記述する必要はありません。
形式は PHPdoc の要件に従います: http://manual.phpdoc.org/HTMLframesConverter/default/phpDocumentor/tutorial_tags.author.pkg.html
/**
* ブログの各種業務:追加、更新
* @authorシンク
*
*/
class BlogModel
{

}
?>

API 注意事項:
入力パラメータと出力形式を必ず記述してください。正しい場合に何が出力され、間違っている場合に何が出力されるかを明確に書きます。
それ以外の場合は、他の人はそれを使用できません。

関数コメント:
出力形式を必ず記述してください。正しい場合に何が出力され、間違っている場合に何が出力されるかを明確に書きます。
入力パラメータが複雑で配列が含まれており、パラメータが一目で明確に理解できない場合は、入力パラメータにコメントを記述する必要があります。
ドキュメントのコメントと関数の間に空白行を含めることはできません。
関数の内部ステップがより複雑な場合は、「インラインコメント」を記述する必要があります。
例:
/**
* ブログを更新します
* @param int $id blog_id
* @param array $data array(
"content" => "", //Content
"tags" => "", //Tag
"update_time " = > "", //更新時間
)
* @return bool
*/
public function updateBlog($id,$data)
{
step1 //最初のステップ: asdf
step2 //2 番目のステップ: qwer
}

URI:
rfc1034 国際標準に従って、ドメイン名にアンダースコア「_」を使用することは禁止されており、ドメイン名では大文字と小文字が区別されません。
たとえば、http://dl_dir.qq.com/ は間違ったドメイン名です。
http://bkjia.com は http://VERYHUO.COM と同じです。
したがって、URI ではすべて小文字を使用することが望ましく、GET の名前は GET の値を除いて小文字です。
例:
http://www.google.com/?hl=zh-CN
http://www.google.com/?hl=zh-cn
URI 内の非パラメータ固有名詞の略語を使用するかどうか小文字であること、物議を醸しており、決定的ではないこと。
例:
http://fedoraproject.org/zh_CN/
http://zh.wikipedia.org/zh-cn/
http://code.google.com/intl/zh-CN/
http:/ / www.microsoft.com/en-us/
言語コードは固有名詞であり、ISO ではマイナス記号であることが規定されており、地域内では大文字を使用することが推奨されています。
fedora の使用法は非常に奇妙で、zh-CN の代わりに独自の zh_CN を使用します。また、URI でアンダースコアを使用することはお勧めできません。
wiki は小文字を使用し、Google は大文字を使用し、Microsoft は小文字を使用します。

GET の名前を除き、URI にはアンダースコアの代わりにマイナス記号「-」を使用することを推奨します。
例:
http://example.com/1-2-2
http://example.com/?user_id=123
ユーザーに URI を手動で入力してもらいたい場合は、大文字と小文字を区別せず、小文字を使用してくださいまず、ユーザー入力の方が便利だからです。
実際の状況は次のとおりです。URI は非常に長いため、ユーザーは通常、URI の代わりにドメイン名を手動で入力します。この場合、URI を小文字にするのは意味がありますか? http://example.com/?userId=123 を使用する場合、変数名にはキャメルケース $userId = $_GET['userId'] を使用できます。 Java、C++ との比較 一貫性を保つために、データベースの名前もキャメルケースで付ける必要があります。話し合います。

変数:
すべて小文字で、アンダースコアで区切られます。例: $user_id。
Java および C++ と矛盾します。話し合います。
クラスのメンバー変数、関数の仮パラメータ、およびオブジェクトへのクラスのインスタンス化はすべて、変数の命名規則に従います。
理由: URI とデータベースには小文字の規則があるため、パラメーターは $_GET と $_POST から取得され、データベースに保存されるため、小文字を使用します。
PHP 組み込み変数 $_GET と $_POST はアンダースコアで始まり、すべて大文字で始まります。カスタム変数がどれほど重要であっても、将来の組み込み変数との競合を避けるために、カスタム変数をアンダースコアで始めないでください。
例: $_PUT、$_DELETE は使用しないでください。

定数:
すべて大文字で、アンダースコアで区切られます。例: const MEMCACHE_TTL = 600;

PHP 短いタグ: を使用し、短いタグ は使用しないでください。これは XML と競合し、デプロイメントに役立たないためです。

中括弧のような行の折り返し:
中括弧を使用して単独の行を占有することも、他の行と同じ行に中括弧を配置することもできます。これについては議論の余地があり、決定的なものではありません。
class UserModel
{

}
サポートラインラッパー:
http://www.php.net/manual/zh/ language.oop5.basic.php
http://pear.php.net/manual/en/ standards.classdef.php


エキサイティングなコンテンツについては、次のページをクリックしてください。

    合計 2 ページ:
  • 前のページ
  • 1
  • 2
  • 次のページ

http://www.bkjia.com/PHPjc/363931.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/363931.html技術記事一般原則: 1. 意味: 名前を見れば、意味がわかります。 2. 一般的な接頭辞は かどうかを意味し、get は読み取りを意味し、set は書き込みを意味します。 is の後には、名詞ではなく形容詞が最初に続きます。たとえば...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。