Service Locator Локатор сервисов/служб - что это такое

Service Locator - подход к созданию приложений, при котором есть некий центральный объект, через который можно получать зависимости.

service locator локатор служб сервисов

Часто сервис локатор преподносится как антипаттерн проектирования, вместо него так же часто предлагают использовать инъекцию зависимостей.

Видео материалы

  • Service Locator Сервис локатор - что это такое, альтернатива инъекции зависимости DI (2025): Ютуб | ВкВидео | Телеграм
vedro-compota's picture

<?php

class A {
  consctuctor(string $username) {

  }
  a()
}

ServiceLocator () {
  static getA() {
    return A;
  }
  static setA(A $a) {
    $this->a = $a;
    return A;
  }
}


// bootstarp.php

$username = $_GET(); //
$a = new A($username); 
ServiceLocator::setA($a);

// class B

class B {
  b() {
    $a = ServiceLocator::getA($a); // не вариант
    $a->a();
  }
}

_____________
матфак вгу и остальная классика =)