简单的重构

时间:2013-03-24 16:40:39

标签: php refactoring

如何重构此代码,因此我只有1行来分配$ filename值。

$i = 1;
$filename = $config->PHOTO_PATH . $list->ID . "_" . $i . ".jpg"
while(file_exists($filename)) 
{
    doSomething();
    $i++;
    $filename = $config->PHOTO_PATH . $list->ID . "_" . $i . ".jpg";
}

4 个答案:

答案 0 :(得分:1)

$i = 1;

$ok=true;
while($ok) 
{
    $filename = $config->PHOTO_PATH . $list->ID . "_" . $i++ . ".jpg";
    $ok=file_exists($filename)
    if ($ok){
       doSomething();
    }
}

答案 1 :(得分:1)

$filename = 'prefix' .
            (preg_replace('/prefix([0-9]+)suffix/', '$1', array_pop(glob('prefix*suffix'))) + 1) .
            'suffix';

答案 2 :(得分:0)

只需替换以下代码:

$i++;
$filename = $config->PHOTO_PATH . $list->ID . "_" . $i . ".jpg";

这个:

$filename = $config->PHOTO_PATH . $list->ID . "_" . ++$i . ".jpg";

答案 3 :(得分:0)

$i = 1;
do {
    doSomething();
    $filename = sprintf('%s%s_%d.jpg', $config->PHOTO_PATH, $list->ID, $i++);
} while (file_exists($filename));