簡體   English   中英

重構:如何用函數代碼替換函數調用

[英]Refactoring: How to replace function call with function code

我想要實現的是類似PhpStorm的Code- Code -> Refactor -> Extract -> Method Extract- Code -> Refactor -> Extract -> Method功能,反之亦然。

我想進行一些特定的函數調用,並將其替換為該函數的代碼。

例如,我有:

function main()
{
    $test = "test";
    module1($test);
    module2($test);
}

function module1($text)
{
    echo "Some text:" . $text;
}

function module2($text)
{
    echo "Another text:" . $text;
}

然后我想接收下一個結果:

function main()
{
    $test = "test";
    echo "Some text:" . $test;
    echo "Another text:" . $test;
}

我不需要完全遞歸,例如,如果module1()函數包含另一個函數調用-我不需要深入研究它。 只需將其設置為1級即可。

對我而言,使用PhpStorm,另一個IDE或另一個腳本也無關緊要。

使用Refactor | Inline... Refactor | Inline...在PhpStorm中(在函數/方法定義上調用它)。

<?php
function aa($hello)
{
    return "Hello $hello";
}

echo aa('Yo!');

在此處輸入圖片說明

該簡單代碼的最終結果:

<?php

echo "Hello 'Yo!'";

如您所見,它有點不正確(變量內容周圍的單引號),因此請確保稍后再檢查代碼。


代碼示例的最終結果(在每個函數上使用后):

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM