最近、php のドキュメントを読んでいて、文字列セクションで興味深いメモを見つけました。
{$} 内の関数、メソッド呼び出し、静的クラス変数、およびクラス定数は、PHP 5 以降で機能します。ただし、アクセスされる値は、文字列が定義されているスコープ内の変数の名前として解釈されます。関数やメソッドの戻り値、またはクラス定数や静的クラス変数の値にアクセスする場合、単一の中括弧 ({}) を使用しても機能しません。
www.php.net/manual/en/language.types.string.phpを参照してください。
オブジェクトのメソッド呼び出しによって返される値を取得するためにカーリー構文を使用することはできません。次のコードを試してみたところ、問題なく動作したため、マニュアルの間違いですか、それとも誤解しました。
<?php
class HelloWorld
{
public static function hello()
{
echo 'hello';
}
}
$a = new HelloWorld();
echo "{$a->hello()} world";