• Модуль: location
  • Путь к файлу: ~/bitrix/modules/location/lib/infrastructure/service/config/factory.php
  • Класс: BitrixLocationInfrastructureServiceConfigFactory
  • Вызов: Factory::createLocationRepository
static function createLocationRepository(Source $source = null): LocationRepository
{
	$cacheTTL = 2592000; //month
	$poolSize = 30;
	$pool = new RepositoryLocationCachePool($poolSize);

	$cache = new RepositoryLocationCache(
		$pool,
		$cacheTTL,
		'locationRepositoryCache',
		BitrixMainDataCache::createInstance(),
		BitrixMainEventManager::getInstance()
	);

	$repositories = [
		$cache,
		new Database()
	];

	if($source)
	{
		$repositories[] = $source->makeRepository();
	}

	return new LocationRepository(
		new Find($repositories),
		new Save($repositories),
		new Delete($repositories)
	);
}