PHP でクラス メソッドの先頭にアンダースコアを付ける
PHP クラス メソッドでの先頭のアンダースコアの使用は、疑問を引き起こす奇妙な規則です。開発者の間では。これは個人的な好みの問題であると考える人もいますが、この慣行の背後には歴史的かつ実際的な理由がある可能性があります。
歴史的起源
先頭のアンダースコアの明らかな起源PHP クラスのメソッドは、PHP 4 まで遡ることができます。プライベートおよび保護された可視性修飾子が導入される前は、開発者はメソッドのアクセシビリティを示すために命名規則に依存していました。アンダースコア (_foo) を接頭辞として付けたメソッドは、アクセス制限を強制しない場合でも、クラスの外部からの直接呼び出しを阻止することを目的としていました。場合によっては、開発者は意図された使用方法を強化するために /*private/ __foo() も使用します。
現在の慣行
時間の経過とともに、すべてのメソッドの前にアンダースコアを付ける習慣は減少し、ほとんどの開発者はプライベート メソッド (PHP 5.3 以降) または保護されたメソッド (PHP 5.4 以降) のためにアンダースコアを予約しています。ただし、レガシー コードや最新のライブラリで非プライベート メソッドの先頭にアンダースコアが依然として使用されている場合がよくあり、混乱を招く可能性があります。
実際的な考慮事項
メソッド名のアンダースコアはアクセス制限を意味するものではなくなりましたが、アンダースコアを賢く使用するといくつかの利点があります:
結論
PHP クラス メソッドで先頭にアンダースコアを使用する習慣は、その起源となっています。 PHP の以前のバージョンの制限から脱却しましたが、内部メソッドまたは保護されたメソッドを示すための規則に進化しました。個人的な好みも影響しますが、この命名慣行の背後にある歴史的および実践的な考慮事項を理解することは、開発者がレガシー コードを操作し、独自のプロジェクトでメソッドの命名について情報に基づいた選択を行うのに役立ちます。
以上が一部の PHP クラス メソッドの先頭にアンダースコアがあるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。