PHP 記述仕様
作成者: シンク
最終更新日: 2011-7-7
参考:
PHP マニュアル
http://www.php.net/manual/zh/ language.oop5 。 Basic.php
PEAR コーディング標準
http://pear.php.net/manual/en/standards.php
C++ コーディング標準
http://www.possibility.com/Cpp/CppCodingStandard.html
Google C++ スタイル ガイド
http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml
Java のコード規則
http://www.oracle.com/technetwork/java/ codeconvtoc -136057.html
一般原則:
1. 意味論
名前を見れば意味が分かります。
2. 共通の接頭辞
は if を意味し、get は読み取りを意味し、set は書き込みを意味します。 is の後には名詞ではなく形容詞が続きます。たとえば、テキストが多言語の場合は、is_multi language の代わりに is_multilingual を使用する必要があります。
3. 単数形と複数形
js 関数の命名規則を参照してください: getElementById、getElementsByTagName、getElementsByName。
例:
複数の友人の名前を取得するには、getFriendNames または getFriendName の代わりに getFriendsName を使用する必要があります
ユーザーを取得するには、getUser です
複数のユーザーを取得するには、getUsers
4 です。 suffix
データ、リスト、情報の接尾辞は使用しないようにしてください。
たとえば、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 つの関数の間には空白行があります。時間があれば、混乱を避けるために関数をアルファベット順に並べ替えてください。
例:
<ol class="dp-c"> <li class="alt"><span><span class="keyword">class</span><span> BlogModel </span></span></li> <li><span>{ </span></li> <li class="alt"> <span> </span><span class="keyword">public</span><span> </span><span class="keyword">function</span><span> addBlog() </span> </li> <li><span> { </span></li> <li class="alt"><span> } </span></li> <li> <span> </span><span class="keyword">public</span><span> </span><span class="keyword">function</span><span> updateBlog() </span> </li> <li class="alt"><span> { </span></li> <li><span> } </span></li> <li class="alt"><span>} </span></li> </ol>
ファイルコメント:
コメントは
形式は PHPdoc の要件に従っています:
http://manual.phpdoc.org/HTMLframesConverter/default/phpDocumentor/tutorial_tags.author.pkg.html
- /**
- * blog的各种业务:添加、更新
- * @author sink
- *
- */
- class BlogModel
- {
- }
- ?>
API に関する注意事項:
入力パラメータと出力形式を必ず記述してください。正しい場合に何が出力され、間違っている場合に何が出力されるかを明確に書きます。
それ以外の場合は、他の人はそれを使用できません。
1