我在我的 Laravel 4 应用程序中使用PHP Carbon库。我已经成功地将 \Carbon\Carbon 类扩展到我自己的 \Extensions\Carbon 类中。我的新类文件包含以下内容:
<?php namespace Extensions;
class Carbon extends \Carbon\Carbon {
public function __construct()
{
parent::__construct();
}
}
这似乎工作正常,因为我现在可以使用此类创建对象。但是,当我尝试使用该copy()
方法时,我看到了一些奇怪的东西:
[1] > $dt = new \Extensions\Carbon;
// object(Extensions\Carbon)(
// 'date' => '2015-06-12 20:14:45',
// 'timezone_type' => 3,
// 'timezone' => 'UTC'
// )
[2] > $dt->addDays(2);
// object(Extensions\Carbon)(
// 'date' => '2015-06-14 20:14:45',
// 'timezone_type' => 3,
// 'timezone' => 'UTC'
// )
[3] > $dt->copy();
// object(Extensions\Carbon)(
// 'date' => '2015-06-12 20:14:54',
// 'timezone_type' => 3,
// 'timezone' => 'UTC'
// )
为什么该copy
方法在我添加 2 天之前输出日期的值?如果我使用原始的 Carbon 类做同样的事情,它可以正常工作:
[1] > $dt = new Carbon\Carbon;
// object(Carbon\Carbon)(
// 'date' => '2015-06-12 20:22:51',
// 'timezone_type' => 3,
// 'timezone' => 'UTC'
// )
[2] > $dt->addDays(2);
// object(Carbon\Carbon)(
// 'date' => '2015-06-14 20:22:51',
// 'timezone_type' => 3,
// 'timezone' => 'UTC'
// )
[3] > $dt->copy();
// object(Carbon\Carbon)(
// 'date' => '2015-06-14 20:22:51',
// 'timezone_type' => 3,
// 'timezone' => 'UTC'
// )
知道什么可能导致这种行为吗?