refactor(php): 优化编译器优化级别映射逻辑

- 统一使用标准的优化级别映射数组替代嵌套三元运算符
- 修复优化级别1的映射错误,从/O2更正为/O1
- 提高代码可读性和维护性
- 确保所有优化级别配置的一致性
- 移除重复的映射定义代码
pull/1/head
韩天峰 4 months ago
parent 25a574122a
commit 31fcc94c2e
  1. 7
      src/Php/Backend/Msvc.php

@ -137,7 +137,8 @@ class Msvc extends CompilerBackend
// 优化级别(C 文件通常使用较低的优化)
$optimizeLevel = $options['optimize'] ?? 0;
$cmd .= ' /O' . ($optimizeLevel >= 2 ? '2' : ($optimizeLevel === 0 ? 'd' : '1'));
$optMap = [0 => '/Od', 1 => '/O1', 2 => '/O2', 3 => '/Ox'];
$cmd .= ' ' . ($optMap[$optimizeLevel] ?? '/O2');
// 警告级别
$cmd .= ' /W3';
@ -236,7 +237,7 @@ class Msvc extends CompilerBackend
$cmd .= ' /Od /Zi';
} else {
$optimizeLevel = $options['optimize'] ?? 2;
$optMap = [0 => '/Od', 1 => '/O2', 2 => '/O2', 3 => '/Ox'];
$optMap = [0 => '/Od', 1 => '/O1', 2 => '/O2', 3 => '/Ox'];
$cmd .= ' ' . ($optMap[$optimizeLevel] ?? '/O2');
}
@ -324,7 +325,7 @@ class Msvc extends CompilerBackend
$cmd .= ' /Od /Zi';
} else {
$optimizeLevel = $config['optimize'] ?? 2;
$optMap = [0 => '/Od', 1 => '/O2', 2 => '/O2', 3 => '/Ox'];
$optMap = [0 => '/Od', 1 => '/O1', 2 => '/O2', 3 => '/Ox'];
$cmd .= ' ' . ($optMap[$optimizeLevel] ?? '/O2');
}

Loading…
Cancel
Save