为什么这不是有效的PHP?

时间:2011-07-27 12:06:59

标签: php

  

可能重复:
  PHP: How to chain method on a newly created object?

我开始使用此代码:

$page = new Page();

$page->replace_tags(...);

$page->output();

我通过返回replace_tags更改了$this的签名以允许方法链接。为什么我仍然不能这样写呢?

new Page()->replace_tags(...)->output();

或者这个:

(new Page())->replace_tags(...)->output();

2 个答案:

答案 0 :(得分:1)

我认为您可能需要在类实例上链接函数:

$page = new Page();

$page->replace_tags(...)->output();

答案 1 :(得分:0)

您需要先将对象分配给引用:

$obj = new Page();
$obj->replace_tags(...)->output();