Composer Autoload无法加载类,运行代码提示Class 'Timer' not found
报错原因
你默认安装的phpunit/php-timer属于2.0及以上的新版本,该版本已将Timer类纳入PHPUnit\Util命名空间下,不存在全局可用的Timer类,因此直接调用会抛出类未找到的错误。另外你提供的示例代码最后一行末尾遗漏了分号,也会引发语法报错。
解决方法1(推荐):修改代码补全命名空间引用
修改demo.php代码如下即可正常运行:
<?php require __DIR__ . '/vendor/autoload.php'; use PHPUnit\Util\Timer; Timer::start(); // your code $time = Timer::stop(); var_dump($time); print Timer::secondsToTimeString($time);
解决方法2:安装兼容旧版本
如果不想调整代码,可以卸载当前版本安装1.x分支的旧版本,执行以下命令即可:composer remove phpunit/php-timer && composer require phpunit/php-timer:^1.0
执行完成后再运行php demo.php即可正常输出结果。
内容的提问来源于stack exchange,提问作者Mike Lammers
相关产品推荐
相关产品推荐

