Я использую библиотеку PHP Carbon в своем приложении Laravel 4. Я успешно расширил класс \ Carbon \ Carbon в свой собственный класс \ Extensions \ Carbon. Мой новый файл класса содержит следующее:Метод не работает, как ожидается при расширении PHP-класса
<?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 дня? Если я сделаю то же самое с использованием исходного класса углерода, он будет работать правильно:
[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'
//)
Любая идея, что может вызвать подобное поведение?