module service

This commit is contained in:
Yuri Kuznetsov
2021-06-26 15:09:20 +03:00
parent 3d24f63fd7
commit 2ff4ec81ac
6 changed files with 26 additions and 22 deletions

View File

@@ -30,7 +30,6 @@
namespace Espo\Classes\AppInfo;
use Espo\Core\{
Utils\File\Manager as FileManager,
Utils\Module,
Binding\EspoBindingLoader,
Binding\Binding as BindingItem,
@@ -39,20 +38,18 @@ use Espo\Core\{
class Binding
{
private $fileManager;
private $module;
public function __construct(FileManager $fileManager)
public function __construct(Module $module)
{
$this->fileManager = $fileManager;
$this->module = $module;
}
public function process(Params $params) : ?string
{
$result = '';
$bindingLoader = new EspoBindingLoader(
new Module($this->fileManager)
);
$bindingLoader = new EspoBindingLoader($this->module);
$data = $bindingLoader->load();

View File

@@ -48,6 +48,11 @@ class DefaultBinding implements BindingProcessor
'container'
);
$binder->bindService(
'Espo\\Core\\Utils\\Module',
'module'
);
$binder->bindService(
'Espo\\ORM\\EntityManager',
'entityManager'

View File

@@ -29,9 +29,7 @@
namespace Espo\Core\Binding;
use Espo\Core\{
Utils\Module,
};
use Espo\Core\Utils\Module;
class EspoBindingLoader implements BindingLoader
{

View File

@@ -60,6 +60,8 @@ class ContainerBuilder
private $dataCacheClassName = DataCache::class;
private $moduleClassName = Module::class;
private $bindingLoader = null;
private $services = [];
@@ -148,16 +150,19 @@ class ContainerBuilder
new $this->dataCacheClassName($fileManager)
);
$useCache = $config->get('useCache') ?? false;
$module = $this->services['module'] ?? (
new $this->moduleClassName($fileManager, $dataCache, $useCache)
);
$this->services['config'] = $config;
$this->services['fileManager'] = $fileManager;
$this->services['dataCache'] = $dataCache;
$useCache = $config->get('useCache') ?? false;
$this->services['module'] = $module;
$bindingLoader = $this->bindingLoader ?? (
new EspoBindingLoader(
new Module($fileManager, $dataCache, $useCache)
)
new EspoBindingLoader($module)
);
$bindingContainer = new BindingContainer($bindingLoader->load());

View File

@@ -75,15 +75,15 @@ class Metadata
FileManager $fileManager,
DataCache $dataCache,
ResourceReader $resourceReader,
Module $module,
bool $useCache = false
){
$this->fileManager = $fileManager;
$this->dataCache = $dataCache;
$this->resourceReader = $resourceReader;
$this->module = $module;
$this->useCache = $useCache;
$this->module = new Module($this->fileManager, $this->dataCache, $useCache);
}
private function getMetadataHelper(): Helper

View File

@@ -38,16 +38,15 @@ use Espo\Core\Utils\DataCache;
use Espo\Core\Utils\File\UnifierObj;
use Espo\Core\Utils\File\Unifier;
use Espo\Core\Utils\Module;
use Espo\Core\Utils\Module\PathProvider as ModulePathProvider;
use Espo\Core\Utils\Resource\Reader;
use Espo\Core\Utils\Resource\PathProvider;
use Espo\Core\Utils\Module\PathProvider as ModulePathProvider;
class MetadataTest extends \PHPUnit\Framework\TestCase
{
protected $object;
private $object;
protected $reflection;
private $reflection;
protected function setUp(): void
{
@@ -68,7 +67,7 @@ class MetadataTest extends \PHPUnit\Framework\TestCase
$reader = new Reader($unifier, $unifierObj);
$this->object = new Metadata($this->fileManager, $this->dataCache, $reader, true);
$this->object = new Metadata($this->fileManager, $this->dataCache, $reader, $module, true);
$this->reflection = new ReflectionHelper($this->object);