扩展 PHP class 时方法未按预期运行

Method not functioning as expected when extending PHP class

我在 Laravel 4 应用程序中使用 PHP Carbon 库。我已经成功地将 \Carbon\Carbon class 扩展为我自己的 \Extensions\Carbon class。我的新 class 文件包含以下内容:

<?php namespace Extensions;

class Carbon extends \Carbon\Carbon {


        public function __construct()
        {
                parent::__construct();
        }

}

这似乎工作正常,因为我现在可以使用它创建对象 class。但是,当我尝试使用 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 class 做同样的事情,它会正常工作:

[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'
// )

知道是什么导致了这种行为吗?

看来我没有使用正确的构造函数。这按预期工作:

public function __construct($time = null, $tz = null)
{
    parent::__construct($time, $tz);
}