services:
# Model
# =====
model_object_manager:
class: 'Picamator\PlaceSearchApi\Model\ObjectManager'
model_collection_factory:
class: 'Picamator\PlaceSearchApi\Model\Service\CollectionFactory'
arguments: ['@model_object_manager']
model_schema_collection_builder:
class: 'Picamator\PlaceSearchApi\Model\Service\SchemaCollectionBuilder'
arguments: ['@model_object_manager']
model_schema_builder:
class: 'Picamator\PlaceSearchApi\Model\Service\SchemaBuilder'
arguments: ['@model_object_manager']
model_mapper:
class: 'Picamator\PlaceSearchApi\Model\Mapper'
arguments: ['@model_object_manager']
model_place_collection_builder:
class: 'Picamator\PlaceSearchApi\Model\Service\PlaceCollectionBuilder'
arguments: ['@model_object_manager']
# Search
# ======
search_error_builder:
class: 'Picamator\PlaceSearchApi\Search\Service\ErrorBuilder'
arguments: ['@model_object_manager']
search_http_client:
class: 'Picamator\PlaceSearchApi\Search\Http\Client'
arguments: ['@guzzle_client']
search_config:
class: 'Picamator\PlaceSearchApi\Search\Config'
factory: ['Picamator\PlaceSearchApi\App\Di\ConfigFactory', 'create']
arguments: ['@model_object_manager']
search_response_builder:
class: 'Picamator\PlaceSearchApi\Search\Service\ResponseBuilder'
arguments: ['@model_object_manager']
# Search:handler
# --------------
search_handler_cache:
class: 'Picamator\PlaceSearchApi\Search\Handler\Cache'
search_handler_empty_data:
class: 'Picamator\PlaceSearchApi\Search\Handler\EmptyData'
arguments: ['@model_collection_factory']
search_handler_engine:
class: 'Picamator\PlaceSearchApi\Search\Handler\Engine'
arguments: ['@engine_google_place_repository']
# Engine
# ======
engine_google_place_repository:
class: 'Picamator\PlaceSearchApi\Engine\GoogleSearchPlace\PlaceRepository'
arguments: ['@engine_http_crawler', '@engine_schema_collection', '@model_mapper', '@model_place_collection_builder']
engine_http_crawler:
class: 'Picamator\PlaceSearchApi\Engine\GoogleSearchPlace\Http\Crawler'
arguments: ['@search_http_client']
engine_schema_collection:
class: 'Picamator\PlaceSearchApi\Model\Data\Collection'
factory: ['Picamator\PlaceSearchApi\App\Di\GoogleSearchPlace\SchemaCollectionFactory', 'create']
arguments: ['@engine_schema_collection_factory']
engine_schema_collection_factory:
class: 'Picamator\PlaceSearchApi\Engine\GoogleSearchPlace\SchemaCollectionFactory'
arguments: ['@model_schema_collection_builder', '@model_schema_builder']
# App
# ===
# App:service\error
# -----------------
app_error_internal_server_service:
class: 'Picamator\PlaceSearchApi\App\Service\Error\InternalServerService'
arguments: ['@search_error_builder']
app_error_not_found_service:
class: 'Picamator\PlaceSearchApi\App\Service\Error\NotFoundService'
arguments: ['@search_error_builder']
app_error_not_implemented_service:
class: 'Picamator\PlaceSearchApi\App\Service\Error\NotImplementedService'
arguments: ['@search_error_builder']
# App:service/Bar
# ---------------
app_place_get_service:
class: 'Picamator\PlaceSearchApi\App\Service\Place\GetService'
arguments: ['@search_handler_engine', '@search_handler_cache', '@search_handler_empty_data', '@search_response_builder']
# Guzzle
# ======
guzzle_client:
class: 'GuzzleHttp\Client'
factory: ['Picamator\PlaceSearchApi\App\Di\Guzzle\ClientFactory', 'create']
arguments: ['@search_config', '@model_object_manager']
guzzle_client_mock:
class: 'GuzzleHttp\Client'
factory: ['Picamator\PlaceSearchApi\Tests\Integration\Fixture\Guzzle\ClientFactory', 'create']
|