Skip to content

switon-php/core

Repository files navigation

Switon Core Package

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.

About

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

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages