39 lines
919 B
PHP
39 lines
919 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace KupShop\BalikonosBundle\Util;
|
|
|
|
use Symfony\Component\DependencyInjection\ServiceLocator;
|
|
|
|
class BalikobotAdapterUtil
|
|
{
|
|
protected $serviceLocatorB2A;
|
|
|
|
protected $B2AClassAdapters;
|
|
|
|
public function __construct(ServiceLocator $serviceLocatorB2A)
|
|
{
|
|
$this->serviceLocatorB2A = $serviceLocatorB2A;
|
|
}
|
|
|
|
public function getB2AClassAdapter($className)
|
|
{
|
|
$adapters = $this->getAllB2AAdapters();
|
|
|
|
return $adapters[$className];
|
|
}
|
|
|
|
protected function getAllB2AAdapters()
|
|
{
|
|
if (!$this->B2AClassAdapters) {
|
|
foreach ($this->serviceLocatorB2A->getProvidedServices() as $id => $service) {
|
|
$adapter = $this->serviceLocatorB2A->get($id);
|
|
$this->B2AClassAdapters[$adapter->getDeliveryClassName()] = $adapter;
|
|
}
|
|
}
|
|
|
|
return $this->B2AClassAdapters;
|
|
}
|
|
}
|