scan(); echo "找到 " . count($definitionFiles) . " 个有效定义文件:\n"; foreach ($definitionFiles as $file) { $basename = basename($file); echo " - $basename\n"; } // 测试扫描所有 PHP 文件(不检查语法) echo "\n扫描所有 PHP 文件(不检查语法):\n"; $scanner2 = new FileScanner($testDir, ['.php'], false); // 不启用语法检查 $allFiles = $scanner2->scan(); echo "找到 " . count($allFiles) . " 个文件:\n"; foreach ($allFiles as $file) { $basename = basename($file); echo " - $basename\n"; } echo "\n预期结果:\n"; echo "- definitions.php 应该被包含(只包含定义)\n"; echo "- with_require.php 应该被包含(require 是允许的)\n"; echo "- executable.php 不应该被包含(包含全局执行逻辑)\n"; // 清理测试文件 unlink($definitionFile); unlink($executableFile); unlink($requireFile); rmdir($testDir); } catch (Exception $e) { echo "错误: " . $e->getMessage() . "\n"; // 清理测试文件(如果出错) if (file_exists($definitionFile)) unlink($definitionFile); if (file_exists($executableFile)) unlink($executableFile); if (file_exists($requireFile)) unlink($requireFile); if (is_dir($testDir)) rmdir($testDir); }