有没有办法在PHP中设置全局测试日期?

有没有办法在PHP中设置全局测试日期?,php,laravel,datetime,php-carbon,Php,Laravel,Datetime,Php Carbon,我有一个PHP项目,我需要测试一个日期时间而不是当前的(即现在)。换句话说,我需要任何datetime函数来返回我设置的datetime。我使用的是随软件包附带的Laravel框架。Carbon允许您使用Carbon::setTestNow()方法设置测试日期时间 例子 这告诉Carbon::now()方法返回04/19/2005 11:35:00作为当前日期时间 $date=Carbon::parse('4/19/05 11:35'); 碳::setTestNow($date); 不幸的是,

我有一个PHP项目,我需要测试一个日期时间而不是当前的(即现在)。换句话说,我需要任何datetime函数来返回我设置的datetime。我使用的是随软件包附带的Laravel框架。Carbon允许您使用
Carbon::setTestNow()
方法设置测试日期时间

例子 这告诉
Carbon::now()
方法返回
04/19/2005 11:35:00
作为当前日期时间

$date=Carbon::parse('4/19/05 11:35');
碳::setTestNow($date);

不幸的是,我只能让它在脚本或方法的范围内工作。正如我之前所说,我想设置一个全局测试日期时间。

PHP-FIG将提出一种用PHP模拟时间的标准方法:

同时,您必须使用各种可用的解决方法之一,您可以检查
symfony/phpunit桥


它使用名称空间技巧将
time()
(以及其他现在相关的函数/类)替换为冻结的函数/类。

请详细说明如果setTestNow()不可用,您希望实现什么fitting@MarcinOrlowski我已经详细阐述了这个问题,有什么方法可以让我深入了解重新开放的审查过程吗?