Rector PHP:無法將陣列索引新增至ector規則
P粉218361972
P粉218361972 2024-02-25 18:48:49
0
1
390

使用 Rector,我正在嘗試轉換以下內容。

$integer = some_made_up_function_call($parm1, $parm2);

進入此:

$integer = $parm1->made_up_method_call($parm2)['hard_coded_index'];

我的問題是最後的 ['hard_coded_index'] 。我不知道如何做到這一點。到目前為止我所擁有的是。

public function refactor(Node $node): ?Node
{
    if (! $this->isName($node->name, 'some_made_up_function_call')) {
        return null;
    }

    $firstParameter = new Node\Expr\Variable($node->args[0]->value->name);

    return new Node\Expr\MethodCall(
        $firstParameter, 
        'made_up_method_call', 
        [$node->args[1]]
    );
}

P粉218361972
P粉218361972

全部回覆(1)
P粉161939752

好吧,我明白了...

public function refactor(Node $node): ?Node
{
    if (! $this->isName($node->name, 'some_made_up_function_call')) {
        返回空值;
    }

    $conn = new Node\Expr\Variable($node->args[0]->value->name);

    $methodCall = new Node\Expr\MethodCall($conn, 'made_up_method_call', [$node->args[1]]);
    $arrayKey = new Node\Scalar\String_('hard_coded_index');

    返回新 Node\Expr\ArrayDimFetch($methodCall, $arrayKey);
}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板