phpdocとあなたのIDE
@varアノテーションにより、IDEは可変タイプを理解し、正確な自動完成とタイプの安全性を提供できます。 2。@paramと@return関数を自己ドキュメントに作成し、パラメーターと戻り値のタイプを明確にし、事前にタイプエラーを発見します。 3。アレイとコレクションは、@varまたは@returnを使用して完全なタイプ(配列
良いphpdocを書くことだけではなく、コードを文書化することだけでなく、IDEをあなたのために作業させることではなく、あなたのために仕事をすることです。

正確なphpdocアノテーション( @param
、 @return
、 @var
など)を追加すると、どんなタイプが期待されるかについての明示的な手がかりを与えています。これはつまり:
- より良いオートコンプリート
- 「未定義の方法」が少ない誤検知
- よりスマートなリファクタリングツール
- 入力するときにインラインタイプチェック
1。 @var
、IDEが変数を理解するのに役立ちます
データベースクエリまたは混合配列を使用して作業している場合、IDEは内容がわからない場合があります。ラインの上に@var
を追加します:

/** @varユーザー$ユーザー*/ $ user = $ repository-> find($ id); $ user-> //←IDEがユーザーの方法を提案するようになりました
@var
がなければ、IDEはmixed
またはobject
のみを見ることができます - 自動化合物はありません。安全性はありません。
2。 @param
と@return
は、自己文書化されています
/** * @param文字列$ email * @param int $ userid * @returnユーザー| null */ function finduserbyemail(string $ email、int $ userid):?user { // ... }
今、誰かがこの関数を呼ぶとき:

- ツールセットが予想されるパラメータータイプが表示されます
- 返品値は明確です
- 彼らが間違ったタイプに合格した場合、IDEはランタイム前にそれらに警告します
3.コレクションと配列には追加のヘルプが必要です
PHPのゆるいタイピングにより、配列は注意が必要です。フルタイプのヒントで@var
または@return
を使用してください:
/** @var array <int、string> $ tags*/ $ tags = getTags(); foreach($ tags as $ index => $ tag){ $ tag //←ideはこれが文字列であることを知っています }
または配列内のオブジェクトの場合:
/** @return Order []*/ function getorders():array { // ... }
IDEは、配列内の各アイテムがOrder
であることを知っています。
ボーナス: @throws
を使用して、より良いエラー認識を得るために
/** * @Throws validationException */ public function save(user $ user):void { // ... }
PHPが実行時にキャッチしない場合でも、予想される例外を処理していない場合、IDEは警告することができます。
結論:phpdocは、phpdocumentorまたは他の開発者だけではありません。それはIDEの燃料です。注釈が良ければ良いほど、ツーリングが賢く動作します。 Ctrl Space
にぶつかるたびに報われる小さな投資です。
以上がphpdocとあなたのIDEの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

PHPは、コンピレーション段階でコメントが破棄され、OpCode実行プロセスに入力されないため、コメントの実行オーバーヘッドを無視します。 2。唯一の無視できるパフォーマンスへの影響は、スクリプトが最初にロードされたマイクロ秒の解析時間であり、Opcacheが有効になった後はほとんど影響がありません。 3。コメントの数ではなく、データベースクエリやループなどの実際のパフォーマンスボトルネックを優先する必要があります。

phpdoctagsareStructured notationsは、codeforbetternStundingupport; 1)@paramdesscribesfunctionPithtypeandescription、2)@returnSpeciesthereturtypeandEning、3)@slowsIndicatesPossibleExtions、およびtogethertherthertheyeenhancei

CSVの見出し線をスキップするなど、「何をすべきか」ではなく「なぜ」を説明します。 2。より少ないインラインコメントを使用し、複雑なロジックを明確な関数名に置き換えます。 3.フォールバックメールボックスが空の場合はGDPRに準拠しているなどのエッジケースを示します。 4. phpdocを使用して、パブリックAPIパラメーターと例外を標準化します。 5.コメントを最新の状態に保ち、時代遅れのコメントはコメントなしよりも悪いです。

ログまたはバージョン制御によって公開される可能性があるため、コメントに機密情報(パスワード、APIキーなど)を記述しないでください。代わりに環境変数またはキー管理ツールを使用する必要があります。 2.混乱を引き起こすコメントで時代遅れのコードを「注釈」しないでください。直接削除してgit履歴によって復元し、必要に応じて削除の理由を説明する必要があります。 3.明らかなナンセンスなコメント(「空の配列の作成」など)を書かないでください。変数名を自分で解釈し、論理が複雑な場合にのみ「なぜ」を説明します。 4.責任者や締め切りなしに大きなtodo/fixmeを離れないでください。これらは簡単にゴミになります。プロジェクト管理ツールを使用してそれらを追跡するか、コメントで担当者と締め切りを示す必要があります。

サードパーティライブラリのバグやパフォーマンスの最適化をバイパスするなど、非自明なロジックを説明します。 2。複雑な関心計算などの複雑なアルゴリズムまたは数学的式を記録します。 3。To-Doアイテムまたは一時的な修正をマークし、// todo:or // fixmeを使用します。 4.パブリックメソッドの構文を複製するのではなく、有用で簡潔なPHPDOCを使用して意図を説明します - 要するに、他の人が「なぜこのように書くのか」と混同される可能性があるとコメントし、そうでなければコードを清潔に保ちます。

XSSおよびSQL注入を防ぐために、htmlspecialchars()および前処理ステートメントを使用します。 2。トリム()、長さチェック、およびfilter_var()を介して入力を確認します。 3.ハニーポットフィールドまたはRecaptChav3を追加して、スパムコメントに抵抗します。 4. CSRFトークンを使用して、フォームのソースが信頼できることを確認します。 5.ストレージ中およびHTMLPurifier中にプリプロセシングステートメントを使用して、ディスプレイ前にコンテンツを浄化し、安全なPHPコメントシステムを構築するためにプロセス全体でユーザーの入力を信頼しないでください。

コードが直感的でない場合(ビット操作や規則性など)、意図についてコメントする必要があります。 2。パブリック機能は、目的と暗黙の論理(休日のステータスに依存するなど)についてコメントする必要があります。 3. TODO/FIXMEを使用して、一時的な計画またはTO項目(ハードコードされたAPIアドレスなど)をマークします。 4.外部アルゴリズムを引用する場合、ソース(StackOverFlowリンクなど);注釈の中核は、数字を補うのではなく、理解のコストを削減することです。

PHPDOCは、JavadocベースのPHPドキュメント標準です。特別な注釈ブロック(/*.../)を使用して、ランタイムの動作を変更せずにタイプと動作情報をコードに追加します。 2。コアタグには、@param(パラメータータイプ)、@return(戻り値タイプ)、@var(変数/属性タイプ)、 @throws(例外をスローする場合があります)が含まれます。 3。実用的な提案:PHPネイティブタイプの宣言の使用が優先されます。 PHPDOCは、配列構造、アノテーションを正確に保持し、コードと同期して更新するなどの複雑なタイプに使用され、@Paramと@returnを新しい関数に追加して習慣を開発し、最終的にコードの自己文書化とツールサポートの強化を実装します。
