switon/core

Shared framework contracts, attributes, helpers, and runtime vocabulary for Switon Framework

Maintainers

Package info

github.com/switon-php/core

Documentation

pkg:composer/switon/core

Statistics

Installs: 75

Dependents: 49

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-06-06 13:43 UTC

This package is auto-updated.

Last update: 2026-06-07 01:39:23 UTC


README

CI PHP 8.3+

Switon's shared foundation for autowiring, app metadata, runtime state, context-aware components, and JSON helpers.

Highlights

  • Property autowiring: #[Autowired] injects services, scalars, and arrays from the container.
  • App and runtime state: app identity, environment, debug mode, timezone, and project-root detection stay explicit.
  • Scoped state support: ContextAware, ContextIsolated, and related helpers keep mutable state controlled.
  • Common helpers: JSON, strings, random, clock, and path helpers are included.
  • Shared contracts: the package exposes the base interfaces other components build on.

Installation

composer require switon/core

Quick Start

use Switon\Core\AppInterface;
use Switon\Core\Attribute\Autowired;
use Switon\Core\Json;

class StatusReporter
{
    #[Autowired] protected AppInterface $app;

    public function snapshot(): string
    {
        return Json::stringify([
            'app' => $this->app->name(),
            'env' => $this->app->env(),
            'debug' => $this->app->isDebug(),
        ], JSON_PRETTY_PRINT);
    }
}

Docs: https://docs.switon.dev/latest/core

License

MIT.