PHP5.4.x中的方法链接和新关键字返回错误

PHP5.4.x中的方法链接和新关键字返回错误,php,Php,我试图将下面的代码链接成一行。纯粹是为了试验看看是否可以做到 这是原始代码,可以工作: $dom = new DomDocument(); $dom->loadHtml($html); $xpath = new DomXPath($dom); 但是,链接时,会返回一个错误: $xpath = new DomXPath((new DomDocument())->loadHtml($html)); 错误是: Catchable fatal error: Argument 1 pass

我试图将下面的代码链接成一行。纯粹是为了试验看看是否可以做到

这是原始代码,可以工作:

$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

如果PHP5.4.x中允许这种链接,那么为什么它不能按预期工作?

错误实际上表明它只是正确的:loadHtml返回了一个Bool(true/false)。检查手册中的返回值

错误:
Catchable致命错误:传递给DOMXPath::\uu construct()的参数1必须是DOMDocument的实例,给定布尔值

代码:


如果类支持ie(即:方法返回
$this
),则可以尝试:
$xpath=new-DomXPath(DomDocument::loadHtml($html))不能静态调用loadHtml。这是范围解析运算符。你可以用它:-看有趣的罗布。我不知道。
$xpath = new DomXPath((new DomDocument())->loadHtml($html));
//                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//                     Argument 1, that returned a bool.