Ist es eine gute Praxis, separate Eigenschaften für Fabriken, Singletons und Instanzen im Service Container zu verwaltenPhp

PHP-Programmierer chatten hier
Anonymous
 Ist es eine gute Praxis, separate Eigenschaften für Fabriken, Singletons und Instanzen im Service Container zu verwalten

Post by Anonymous »

Ich implementiere einen einfachen PHP-Service-Container für meinen persönlichen Website-Blog und möchte sicherstellen, dass ich ihn richtig einrichte. Mein Container verfügt über drei Arten von Dienstregistrierungsmethoden:
  • Code: Select all

    singleton()
    – für gemeinsam genutzte Instanzen
  • Code: Select all

    factory()
    – zum Erstellen neuer Instanzen jedes Mal
  • Code: Select all

    instance()
    – zum manuellen Bereitstellen einer vorhandenen Instanz
Ich speichere sie derzeit in separaten Eigenschaften:

Code: Select all

class Container
{
private array $factories = [];
private array $instances = [];
private array $singletons = [];

public function singleton(string $abstract, callable|string $concrete = null): void
{
$this->singletons[$abstract] = $concrete;
}

public function factory(string $abstract, callable|string $concrete): void
{
$this->factories[$abstract] = $concrete;
}

public function instance(string $abstract, object $instance): void
{
$this->instances[$abstract] = $instance;
}

// ... other container logic here
}
Ich würde mich über Feedback zum Design, zu möglichen Fallstricken oder zu Verbesserungen der Typsicherheit und Wartbarkeit freuen. Sollte ich meine öffentlichen Methoden und Eigenschaften einschränken und einfach set() verwenden?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post