デフォルトで公開されている場合、キーワードpublic
を使用してクラスプロパティ(変数)またはメソッド(関数)を宣言するのはなぜですか?それとも、彼らは?PHPクラスはなぜpublicキーワードを使用しますか?
私の質問に別の言い方をすれば、public
は冗長ですか?私はprivate
とprotected
を理解しますが、とにかくクラスメンバーが公開されている場合はpublic
と宣言するのはなぜですか?
デフォルトで公開されている場合、キーワードpublic
を使用してクラスプロパティ(変数)またはメソッド(関数)を宣言するのはなぜですか?それとも、彼らは?PHPクラスはなぜpublicキーワードを使用しますか?
私の質問に別の言い方をすれば、public
は冗長ですか?私はprivate
とprotected
を理解しますが、とにかくクラスメンバーが公開されている場合はpublic
と宣言するのはなぜですか?
はい、public
がデフォルトです(visibility docs参照)。
人はそれを追加するので、他のすべてのメソッド/プロパティと一致します。
さらに、プロパティをパブリックに宣言し、public
を使用しない場合は、var
を使用する必要があります。これは推奨されておらず、ある時点で廃止される可能性があります。
これはデフォルトの可視性レベルなので冗長です。あなたができるときにそれらを避けるべきです。いくつかの人々はコードを少しだけ読みやすくするためにpublic
キーワードを明示的に追加します。
何(誰)とき私ができる避けますか? – Ben
@Steve:パブリックレベルのヴァースの 'public'キーワードを無視することができます: – Sarfraz
@Stve' public'キーワード。 – Savetheinternet
あなたはPSR-2をフォローしたい場合は、あなたがそれを使用する必要がありますので、しかし、可視性のキーワードは、すべての機能にPSR-2により必要とされるpublic
を使用するための技術的な理由はありません。
4.3。メソッド
すべてのメソッドで可視性を宣言しなければなりません。
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md#43-methods
プロパティの場合は、[OK]をクリックします。しかし、現時点で公共の財産が本当に必要なのは誰ですか?パブリックメソッドの場合、これは慣習や相互運用性に優れた慣例(PSR-2など)です。しかし、技術的な利点はありません。あなたの脳がすでに公開されているキーワードを見るのに慣れていなければ、読みやすさは向上しないと私は主張します。 – donquixote