
[code]

    $hoge = new Hoge();
    (clone $hoge)->kansu();
    
[/code]

というコードを実行したら

[code]

    PHP Parse error:  syntax error, unexpected '->' (T_OBJECT_OPERATOR)
    
[/code]

というエラーになってしまいます。  
その場限りのclone オブジェクトなのでワンライナーで書きたいのですができますか？

@php5.6


CC BY-SA 3.0
2016-07-21T03:50:40.410
27783
2016-07-21T15:14:18.363
10344
question
php
clone でワンライナーってできますか？


ちょっと強引ですけど↓のようなものはいかがでしょうか？

[code]

    $hoge = new Hoge();
    current([clone $hoge])->kansu();
    
[/code]

下記のように値を返すだけの関数があればそれを使うこともできます。

[code]

    function ref($o)
    {
        return $o;
    }
    
    $hoge = new Hoge();
    ref(clone $hoge)->kansu();
    
[/code]


CC BY-SA 3.0
2016-07-21T15:14:18.363
27802
2016-07-21T15:14:18.363
2494
27783
answer