Skip to content

Instantly share code, notes, and snippets.

@sameg14
Created April 29, 2016 20:00
Show Gist options
  • Save sameg14/4909789e25b3b8881cdf929d4503a801 to your computer and use it in GitHub Desktop.
Save sameg14/4909789e25b3b8881cdf929d4503a801 to your computer and use it in GitHub Desktop.
Service container in symfony (inversion of control)
services:
app.request_listener:
class: Tib\CoreBundle\EventListener\RequestListener
arguments: [@db2, @session, @service.job_scheduler]
tags:
- { name: kernel.event_listener, event: kernel.controller, method: onKernelController }
client.guzzle:
class: GuzzleHttp\Client
# db credentials are set in the apache config and are provisioned by ansible
db:
class: Tib\CoreBundle\Db\DBCommon
arguments: [%database_host%, %database_user%, %database_password%, %database_name%, %database_port%]
db2:
class: Simplon\Mysql\Mysql
arguments: [%database_host%, %database_user%, %database_password%, %database_name%]
formatter.cloud_search_formatter:
class: Tib\CoreBundle\Formatter\CloudSearchFormatter
aws.credentials:
class: Aws\Common\Credentials\Credentials
arguments: [%aws_access_key_id%, %aws_secret_access_key%]
aws.cloud_search_client:
class: Aws\CloudSearch\CloudSearchClient
factory_class: Aws\CloudSearch\CloudSearchClient
factory_method: factory
arguments:
-
profile: default
region: us-west-1
# key: %aws_access_key_id%
# secret: %aws_secret_access_key%
# base_url: %aws_cloudsearch_base_url%
# region: %aws_cloudsearch_region%
service.s3:
class: Tib\CoreBundle\Service\S3Service
arguments: [@aws.credentials, @session, %kernel.root_dir%]
service.cloud_search:
class: Tib\CoreBundle\Service\CloudSearchService
arguments: [@db, @session, @aws.cloud_search_client, @formatter.cloud_search_formatter]
service.search:
class: Tib\CoreBundle\Service\SearchService
arguments: [@db, @session, @mailer, @service.mix_image, @service.s3, @service.user, @util.remote_address, @model.mix]
service.email:
class: Tib\CoreBundle\Service\EmailService
arguments: [@mailer, %mailer_admin%]
service.mix:
class: Tib\CoreBundle\Service\MixService
arguments: [@db, @session, @mailer, @service.mix_image, @service.s3, @service.user, @util.remote_address, @model.mix]
service.mix_image:
class: Tib\CoreBundle\Service\MixImageService
arguments: [@db, @session, %kernel.root_dir%, @service.s3]
service.mix_upload:
class: Tib\CoreBundle\Service\MixUploadService
arguments: [@db, @session, %kernel.root_dir%, %mix_abs_path%, @service.s3, %base_url%, @service.job_scheduler]
service.genre:
class: Tib\CoreBundle\Service\GenreService
arguments: [@db]
service.user:
class: Tib\CoreBundle\Service\UserService
arguments: [@db, @session, @service.s3, @service.user_profile, @util.remote_address, @request_stack]
calls:
- [setUser, [@model.user]]
service.user_profile:
class: Tib\CoreBundle\Service\UserProfileService
arguments: [@db, @model.user_profile]
service.dj:
class: Tib\CoreBundle\Service\DJService
arguments: [@db]
service.password:
class: Tib\CoreBundle\Service\PasswordService
arguments: [@db, @session, %base_url%]
service.id3:
class: GetId3\GetId3Core
calls:
- [setOptionMD5Data, [true]]
- [setOptionMD5DataSource, [true]]
- [setEncoding, [UTF-8]]
service.job_scheduler:
class: Tib\CoreBundle\Job\Scheduler\JobScheduler
calls:
- [setContainer, [@service_container]]
model.mix:
class: Tib\CoreBundle\Model\Mix
arguments: [@db, @session, @service.genre, @service.mix_image]
calls:
- [setDb2, [@db2]]
model.user:
class: Tib\CoreBundle\Model\User
arguments: [@db]
model.user_profile:
class: Tib\CoreBundle\Model\UserProfile
model.mix_category:
class: Tib\CoreBundle\Model\MixCategory
arguments: [@db]
helper.route:
class: Tib\CoreBundle\Helper\RouteHelper
arguments: [%base_url%]
util.remote_address:
class: Tib\CoreBundle\Util\RemoteAddress
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment