larafony/clock-carbon

Carbon date/time library bridge for Larafony Framework

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/larafony/clock-carbon

1.1.2 2026-02-02 19:49 UTC

This package is auto-updated.

Last update: 2026-02-02 19:50:12 UTC


README

This package provides integration between Larafony Framework and Carbon - the popular PHP date/time library.

Installation

composer require larafony/clock-carbon

Usage

Register the service provider in your bootstrap.php:

use Larafony\Clock\Carbon\ServiceProviders\CarbonServiceProvider;

$app->withServiceProviders([
    CarbonServiceProvider::class
]);

Basic operations

use Larafony\Clock\Carbon\CarbonClock;
use Larafony\Framework\Web\Application;
use Larafony\Framework\Web\Controller;
use Larafony\Framework\Routing\Advanced\Attributes\Route;
use Larafony\Framework\Http\Factories\ResponseFactory;

final class SomeController extends Controller
{
    #[Route('/some-route')]
    //auto inject from DI container
    public function someAction(CarbonClock $clock): \Psr\Http\Message\ResponseInterface
    {
        //get from application singleton
        $clock2 = Application::get(CarbonClock::class);
        return ResponseFactory::createJsonResponse(
            [
                'now' => $clock->now(),
                'diff' => $clock->now()->diffForHumans()
                'long_day' => $clock->addDays(5)->format('l')
            ]
        );
    }
}

PSR-20 Compatibility

The Carbon bridge implements PSR-20 ClockInterface, making it a drop-in replacement for Larafony's built-in clock:

use Psr\Clock\ClockInterface;

// Works with any PSR-20 compatible code
function doSomething(ClockInterface $clock): void
{
    $now = $clock->now();
    // ...
}

Features

  • PSR-20 compatible - Implements ClockInterface
  • Full Carbon API - Access all Carbon features
  • Timezone support - Easy timezone manipulation
  • Human-readable dates - diffForHumans() and more
  • Immutable by default - CarbonImmutable for safety

Why use this bridge?

While Larafony includes a built-in PSR-20 clock implementation, Carbon offers:

  • Rich date/time manipulation API
  • Human-readable date differences
  • Localization support for 100+ languages
  • Date comparison and testing utilities
  • Battle-tested codebase used by millions

Learn How It's Built - From Scratch

Interested in how Larafony is built step by step?

Check out my full PHP 8.5 course, where I explain everything from architecture to implementation - no magic, just clean code.

Get it now at masterphp.eu

License

MIT License. Larafony-clock-carbon is open-sourced software licensed under the MIT license.