PHP クラスのインスタンス化: 括弧があるかどうか?
PHP でクラスのインスタンスを作成するとき、次の括弧が存在するかどうか疑問に思うのが一般的です。クラス名は必須です。この疑問は、特にコンストラクター パラメーターが関与していない場合に生じます。
2 つの例を考えてみましょう:
$foo = new bar; $foo = new bar();
これら 2 つのステートメントは機能的に同一です。どちらも bar クラスのインスタンスを作成し、それを変数 $foo に割り当てます。
括弧の重要性
括弧はオプションのように見えますが、実際には括弧が存在します。考慮すべき点がいくつかあります。 PHP では、括弧は 2 つの主な目的を果たします。
クラスのインスタンス化の場合、かっこがないと混乱が生じる可能性があります。括弧がないと、PHP はコードを関数呼び出しとして解析しようとします。例:
$object = new bar; echo $object->name(); // Error: Function "name" not found
この例では、PHP は「new bar」を関数呼び出しとして解釈し、存在しない「name」という名前の関数を検索しようとします。かっこを追加すると、この問題が解決されます。
$object = new bar(); echo $object->name(); // Success: Function "name" found
個人設定
結局のところ、コンストラクター パラメーターなしでクラスをインスタンス化するときにかっこを使用するかどうかは、個人の好みの問題です。 。ただし、かっこを省略すると混乱が生じる可能性があることに注意することが重要です。
特定のコーディング規約がない場合は、お好みのオプションを自由に使用してください。わかりやすくするために括弧を含めることを好む開発者もいますが、簡素化のために括弧を省略することを好む開発者もいます。
以上が括弧で囲むかどうか: PHP クラスのインスタンス化に括弧が必要になるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。