以下のコードを 1 行に連結しようとしました。純粋に、それができるかどうかを確認するための実験用です。
これは動作する元のコードです。
$dom = new DomDocument();
$dom->loadHtml($html);
$xpath = new DomXPath($dom);
ただし、連鎖すると、これはエラーを返します。
$xpath = new DomXPath((new DomDocument())->loadHtml($html));
エラーは次のとおりです。
Catchable fatal error: Argument 1 passed to DOMXPath::__construct() must be an instance of DOMDocument, boolean given
この種の連鎖が PHP 5.4.x で許可されている場合、期待どおりに動作しないのはなぜですか?