add new demo symfony files
This commit is contained in:
19
app/config/bundles.php
Normal file
19
app/config/bundles.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
|
||||
Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true],
|
||||
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true],
|
||||
Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true],
|
||||
Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true],
|
||||
Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true],
|
||||
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true, 'test' => true],
|
||||
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
|
||||
DAMA\DoctrineTestBundle\DAMADoctrineTestBundle::class => ['test' => true],
|
||||
Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true],
|
||||
Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['dev' => true, 'test' => true],
|
||||
Symfony\WebpackEncoreBundle\WebpackEncoreBundle::class => ['all' => true],
|
||||
Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],
|
||||
Twig\Extra\TwigExtraBundle\TwigExtraBundle::class => ['all' => true],
|
||||
HtmlSanitizer\Bundle\HtmlSanitizerBundle::class => ['all' => true],
|
||||
];
|
3
app/config/packages/assets.yaml
Normal file
3
app/config/packages/assets.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
framework:
|
||||
assets:
|
||||
json_manifest_path: '%kernel.project_dir%/public/build/manifest.json'
|
19
app/config/packages/cache.yaml
Normal file
19
app/config/packages/cache.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
framework:
|
||||
cache:
|
||||
# Unique name of your app: used to compute stable namespaces for cache keys.
|
||||
#prefix_seed: your_vendor_name/app_name
|
||||
|
||||
# The "app" cache stores to the filesystem by default.
|
||||
# The data in this cache should persist between deploys.
|
||||
# Other options include:
|
||||
|
||||
# Redis
|
||||
#app: cache.adapter.redis
|
||||
#default_redis_provider: redis://localhost
|
||||
|
||||
# APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues)
|
||||
#app: cache.adapter.apcu
|
||||
|
||||
# Namespaced pools use the above "app" backend by default
|
||||
#pools:
|
||||
#my.dedicated.cache: null
|
4
app/config/packages/dev/debug.yaml
Normal file
4
app/config/packages/dev/debug.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
debug:
|
||||
# Forwards VarDumper Data clones to a centralized server allowing to inspect dumps on CLI or in your browser.
|
||||
# See the "server:dump" command to start a new server.
|
||||
dump_destination: "tcp://%env(VAR_DUMPER_SERVER)%"
|
4
app/config/packages/dev/mailer.yaml
Normal file
4
app/config/packages/dev/mailer.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
framework:
|
||||
mailer:
|
||||
# this disables delivery of messages entirely
|
||||
dsn: 'null://null'
|
19
app/config/packages/dev/monolog.yaml
Normal file
19
app/config/packages/dev/monolog.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
monolog:
|
||||
handlers:
|
||||
main:
|
||||
type: stream
|
||||
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||
level: debug
|
||||
channels: ["!event"]
|
||||
# uncomment to get logging in your browser
|
||||
# you may have to allow bigger header sizes in your Web server configuration
|
||||
#firephp:
|
||||
# type: firephp
|
||||
# level: info
|
||||
#chromephp:
|
||||
# type: chromephp
|
||||
# level: info
|
||||
console:
|
||||
type: console
|
||||
process_psr_3_messages: false
|
||||
channels: ["!event", "!doctrine", "!console"]
|
6
app/config/packages/dev/web_profiler.yaml
Normal file
6
app/config/packages/dev/web_profiler.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
web_profiler:
|
||||
toolbar: true
|
||||
intercept_redirects: false
|
||||
|
||||
framework:
|
||||
profiler: { only_exceptions: false }
|
18
app/config/packages/doctrine.yaml
Normal file
18
app/config/packages/doctrine.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
doctrine:
|
||||
dbal:
|
||||
url: '%env(resolve:DATABASE_URL)%'
|
||||
|
||||
# IMPORTANT: You MUST configure your server version,
|
||||
# either here or in the DATABASE_URL env var (see .env file)
|
||||
#server_version: '5.7'
|
||||
orm:
|
||||
auto_generate_proxy_classes: true
|
||||
naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
|
||||
auto_mapping: true
|
||||
mappings:
|
||||
App:
|
||||
is_bundle: false
|
||||
type: annotation
|
||||
dir: '%kernel.project_dir%/src/Entity'
|
||||
prefix: 'App\Entity'
|
||||
alias: App
|
5
app/config/packages/doctrine_migrations.yaml
Normal file
5
app/config/packages/doctrine_migrations.yaml
Normal file
@@ -0,0 +1,5 @@
|
||||
doctrine_migrations:
|
||||
migrations_paths:
|
||||
# namespace is arbitrary but should be different from App\Migrations
|
||||
# as migrations classes should NOT be autoloaded
|
||||
'DoctrineMigrations': '%kernel.project_dir%/migrations'
|
27
app/config/packages/framework.yaml
Normal file
27
app/config/packages/framework.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
# see https://symfony.com/doc/current/reference/configuration/framework.html
|
||||
framework:
|
||||
secret: '%env(APP_SECRET)%'
|
||||
csrf_protection: true
|
||||
http_method_override: true
|
||||
|
||||
# Enables session support. Note that the session will ONLY be started if you read or write from it.
|
||||
# Remove or comment this section to explicitly disable session support.
|
||||
session:
|
||||
handler_id: null
|
||||
cookie_secure: auto
|
||||
cookie_samesite: lax
|
||||
|
||||
# When using the HTTP Cache, ESI allows to render page fragments separately
|
||||
# and with different cache configurations for each fragment
|
||||
# https://symfony.com/doc/current/http_cache/esi.html
|
||||
esi: true
|
||||
fragments: true
|
||||
|
||||
php_errors:
|
||||
log: true
|
||||
|
||||
# The 'ide' option turns all of the file paths in an exception page
|
||||
# into clickable links that open the given file using your favorite IDE.
|
||||
# When 'ide' is set to null the file is opened in your web browser.
|
||||
# See https://symfony.com/doc/current/reference/configuration/framework.html#ide
|
||||
ide: null
|
17
app/config/packages/html_sanitizer.yaml
Normal file
17
app/config/packages/html_sanitizer.yaml
Normal file
@@ -0,0 +1,17 @@
|
||||
html_sanitizer:
|
||||
default_sanitizer: 'default'
|
||||
sanitizers:
|
||||
default:
|
||||
# Read https://github.com/tgalopin/html-sanitizer/blob/master/docs/1-getting-started.md#extensions
|
||||
# to learn more about which extensions you would like to enable.
|
||||
extensions:
|
||||
- 'basic'
|
||||
- 'list'
|
||||
- 'table'
|
||||
- 'image'
|
||||
- 'code'
|
||||
# - 'iframe'
|
||||
# - 'extra'
|
||||
|
||||
# Read https://github.com/tgalopin/html-sanitizer/blob/master/docs/3-configuration-reference.md
|
||||
# to discover all the available options for each extension.
|
3
app/config/packages/mailer.yaml
Normal file
3
app/config/packages/mailer.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
framework:
|
||||
mailer:
|
||||
dsn: '%env(MAILER_DSN)%'
|
8
app/config/packages/prod/deprecations.yaml
Normal file
8
app/config/packages/prod/deprecations.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
# As of Symfony 5.1, deprecations are logged in the dedicated "deprecation" channel when it exists
|
||||
#monolog:
|
||||
# channels: [deprecation]
|
||||
# handlers:
|
||||
# deprecation:
|
||||
# type: stream
|
||||
# channels: [deprecation]
|
||||
# path: "%kernel.logs_dir%/%kernel.environment%.deprecations.log"
|
20
app/config/packages/prod/doctrine.yaml
Normal file
20
app/config/packages/prod/doctrine.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
doctrine:
|
||||
orm:
|
||||
auto_generate_proxy_classes: false
|
||||
metadata_cache_driver:
|
||||
type: pool
|
||||
pool: doctrine.system_cache_pool
|
||||
query_cache_driver:
|
||||
type: pool
|
||||
pool: doctrine.system_cache_pool
|
||||
result_cache_driver:
|
||||
type: pool
|
||||
pool: doctrine.result_cache_pool
|
||||
|
||||
framework:
|
||||
cache:
|
||||
pools:
|
||||
doctrine.result_cache_pool:
|
||||
adapter: cache.app
|
||||
doctrine.system_cache_pool:
|
||||
adapter: cache.system
|
16
app/config/packages/prod/monolog.yaml
Normal file
16
app/config/packages/prod/monolog.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
monolog:
|
||||
handlers:
|
||||
main:
|
||||
type: fingers_crossed
|
||||
action_level: error
|
||||
handler: nested
|
||||
excluded_http_codes: [404, 405]
|
||||
buffer_size: 50 # How many messages should be saved? Prevent memory leaks
|
||||
nested:
|
||||
type: stream
|
||||
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||
level: debug
|
||||
console:
|
||||
type: console
|
||||
process_psr_3_messages: false
|
||||
channels: ["!event", "!doctrine"]
|
3
app/config/packages/prod/routing.yaml
Normal file
3
app/config/packages/prod/routing.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
framework:
|
||||
router:
|
||||
strict_requirements: null
|
4
app/config/packages/prod/webpack_encore.yaml
Normal file
4
app/config/packages/prod/webpack_encore.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
#webpack_encore:
|
||||
# Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes)
|
||||
# Available in version 1.2
|
||||
#cache: true
|
7
app/config/packages/routing.yaml
Normal file
7
app/config/packages/routing.yaml
Normal file
@@ -0,0 +1,7 @@
|
||||
framework:
|
||||
router:
|
||||
utf8: true
|
||||
|
||||
# Configure how to generate URLs in non-HTTP contexts, such as CLI commands.
|
||||
# See https://symfony.com/doc/current/routing.html#generating-urls-in-commands
|
||||
#default_uri: http://localhost
|
63
app/config/packages/security.yaml
Normal file
63
app/config/packages/security.yaml
Normal file
@@ -0,0 +1,63 @@
|
||||
security:
|
||||
encoders:
|
||||
# Our user class and the algorithm we'll use to encode passwords
|
||||
# 'auto' means to let Symfony choose the best possible password hasher (Argon2 or Bcrypt)
|
||||
# https://symfony.com/doc/current/security.html#c-encoding-passwords
|
||||
App\Entity\User: 'auto'
|
||||
|
||||
providers:
|
||||
# https://symfony.com/doc/current/security/user_provider.html
|
||||
# In this example, users are stored via Doctrine in the database
|
||||
# To see the users at src/App/DataFixtures/ORM/LoadFixtures.php
|
||||
# To load users from somewhere else: https://symfony.com/doc/current/security/user_provider.html#creating-a-custom-user-provider
|
||||
database_users:
|
||||
entity: { class: App\Entity\User, property: username }
|
||||
|
||||
# https://symfony.com/doc/current/security.html#a-authentication-firewalls
|
||||
firewalls:
|
||||
dev:
|
||||
pattern: ^/(_(profiler|wdt)|css|images|js)/
|
||||
security: false
|
||||
|
||||
main:
|
||||
# this firewall applies to all URLs
|
||||
pattern: ^/
|
||||
|
||||
# but the firewall does not require login on every page
|
||||
# denying access is done in access_control or in your controllers
|
||||
anonymous: true
|
||||
lazy: true
|
||||
|
||||
# The user provider to use.
|
||||
provider: database_users
|
||||
|
||||
# This allows the user to login by submitting a username and password
|
||||
# Reference: https://symfony.com/doc/current/security/form_login_setup.html
|
||||
form_login:
|
||||
# The route name that the login form submits to
|
||||
check_path: security_login
|
||||
# The name of the route where the login form lives
|
||||
# When the user tries to access a protected page, they are redirected here
|
||||
login_path: security_login
|
||||
# Secure the login form against CSRF
|
||||
# Reference: https://symfony.com/doc/current/security/csrf.html#csrf-protection-in-login-forms
|
||||
csrf_token_generator: security.csrf.token_manager
|
||||
# The page users are redirect to when there is no previous page stored in the
|
||||
# session (for example when the users access directly to the login page).
|
||||
default_target_path: blog_index
|
||||
|
||||
logout:
|
||||
# The route name the user can go to in order to logout
|
||||
path: security_logout
|
||||
# The name of the route to redirect to after logging out
|
||||
target: homepage
|
||||
|
||||
# Easy way to control access for large sections of your site
|
||||
# Note: Only the *first* access control that matches will be used
|
||||
access_control:
|
||||
# this is a catch-all for the admin area
|
||||
# additional security lives in the controllers
|
||||
- { path: '^/(%app_locales%)/admin', roles: ROLE_ADMIN }
|
||||
|
||||
role_hierarchy:
|
||||
ROLE_ADMIN: ROLE_USER
|
3
app/config/packages/sensio_framework_extra.yaml
Normal file
3
app/config/packages/sensio_framework_extra.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
sensio_framework_extra:
|
||||
router:
|
||||
annotations: false
|
4
app/config/packages/test/dama_doctrine_test_bundle.yaml
Normal file
4
app/config/packages/test/dama_doctrine_test_bundle.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
dama_doctrine_test:
|
||||
enable_static_connection: true
|
||||
enable_static_meta_data_cache: true
|
||||
enable_static_query_cache: true
|
4
app/config/packages/test/framework.yaml
Normal file
4
app/config/packages/test/framework.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
framework:
|
||||
test: true
|
||||
session:
|
||||
storage_id: session.storage.mock_file
|
4
app/config/packages/test/mailer.yaml
Normal file
4
app/config/packages/test/mailer.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
framework:
|
||||
mailer:
|
||||
# this disables delivery of messages entirely
|
||||
dsn: 'null://null'
|
12
app/config/packages/test/monolog.yaml
Normal file
12
app/config/packages/test/monolog.yaml
Normal file
@@ -0,0 +1,12 @@
|
||||
monolog:
|
||||
handlers:
|
||||
main:
|
||||
type: fingers_crossed
|
||||
action_level: error
|
||||
handler: nested
|
||||
excluded_http_codes: [404, 405]
|
||||
channels: ["!event"]
|
||||
nested:
|
||||
type: stream
|
||||
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||
level: debug
|
6
app/config/packages/test/security.yaml
Normal file
6
app/config/packages/test/security.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
# this configuration simplifies testing URLs protected by the security mechanism
|
||||
# See https://symfony.com/doc/current/testing/http_authentication.html
|
||||
security:
|
||||
firewalls:
|
||||
main:
|
||||
http_basic: ~
|
2
app/config/packages/test/twig.yaml
Normal file
2
app/config/packages/test/twig.yaml
Normal file
@@ -0,0 +1,2 @@
|
||||
twig:
|
||||
strict_variables: true
|
3
app/config/packages/test/validator.yaml
Normal file
3
app/config/packages/test/validator.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
framework:
|
||||
validation:
|
||||
not_compromised_password: false
|
6
app/config/packages/test/web_profiler.yaml
Normal file
6
app/config/packages/test/web_profiler.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
web_profiler:
|
||||
toolbar: false
|
||||
intercept_redirects: false
|
||||
|
||||
framework:
|
||||
profiler: { collect: false }
|
2
app/config/packages/test/webpack_encore.yaml
Normal file
2
app/config/packages/test/webpack_encore.yaml
Normal file
@@ -0,0 +1,2 @@
|
||||
#webpack_encore:
|
||||
# strict_mode: false
|
6
app/config/packages/translation.yaml
Normal file
6
app/config/packages/translation.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
framework:
|
||||
default_locale: '%locale%'
|
||||
translator:
|
||||
default_path: '%kernel.project_dir%/translations'
|
||||
fallbacks:
|
||||
- '%locale%'
|
5
app/config/packages/twig.yaml
Normal file
5
app/config/packages/twig.yaml
Normal file
@@ -0,0 +1,5 @@
|
||||
twig:
|
||||
default_path: '%kernel.project_dir%/templates'
|
||||
form_themes:
|
||||
- 'form/layout.html.twig'
|
||||
- 'form/fields.html.twig'
|
9
app/config/packages/validator.yaml
Normal file
9
app/config/packages/validator.yaml
Normal file
@@ -0,0 +1,9 @@
|
||||
framework:
|
||||
validation:
|
||||
enable_annotations: true
|
||||
email_validation_mode: html5
|
||||
|
||||
# Enables validator auto-mapping support.
|
||||
# For instance, basic validation constraints will be inferred from Doctrine's metadata.
|
||||
auto_mapping:
|
||||
App\Entity\: []
|
25
app/config/packages/webpack_encore.yaml
Normal file
25
app/config/packages/webpack_encore.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
webpack_encore:
|
||||
# The path where Encore is building the assets - i.e. Encore.setOutputPath()
|
||||
output_path: '%kernel.project_dir%/public/build'
|
||||
# If multiple builds are defined (as shown below), you can disable the default build:
|
||||
# output_path: false
|
||||
|
||||
# if using Encore.enableIntegrityHashes() and need the crossorigin attribute (default: false, or use 'anonymous' or 'use-credentials')
|
||||
# crossorigin: 'anonymous'
|
||||
|
||||
# preload all rendered script and link tags automatically via the http2 Link header
|
||||
# preload: true
|
||||
|
||||
# Throw an exception if the entrypoints.json file is missing or an entry is missing from the data
|
||||
# strict_mode: false
|
||||
|
||||
# if you have multiple builds:
|
||||
# builds:
|
||||
# pass "frontend" as the 3rg arg to the Twig functions
|
||||
# {{ encore_entry_script_tags('entry1', null, 'frontend') }}
|
||||
|
||||
# frontend: '%kernel.project_dir%/public/frontend/build'
|
||||
|
||||
# Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes)
|
||||
# Put in config/packages/prod/webpack_encore.yaml
|
||||
# cache: true
|
5
app/config/preload.php
Normal file
5
app/config/preload.php
Normal file
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
|
||||
if (file_exists(dirname(__DIR__).'/var/cache/prod/App_KernelProdContainer.preload.php')) {
|
||||
require dirname(__DIR__).'/var/cache/prod/App_KernelProdContainer.preload.php';
|
||||
}
|
12
app/config/routes.yaml
Normal file
12
app/config/routes.yaml
Normal file
@@ -0,0 +1,12 @@
|
||||
# These lines define a route using YAML configuration. The controller used by
|
||||
# the route (FrameworkBundle:Template:template) is a convenient shortcut when
|
||||
# the template can be rendered without executing any logic in your own controller.
|
||||
# See https://symfony.com/doc/current/templates.html#rendering-a-template-directly-from-a-route
|
||||
homepage:
|
||||
path: /{_locale}
|
||||
controller: Symfony\Bundle\FrameworkBundle\Controller\TemplateController::templateAction
|
||||
requirements:
|
||||
_locale: '%app_locales%'
|
||||
defaults:
|
||||
template: default/homepage.html.twig
|
||||
_locale: '%locale%'
|
8
app/config/routes/annotations.yaml
Normal file
8
app/config/routes/annotations.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
controllers:
|
||||
resource: '../../src/Controller/'
|
||||
type: annotation
|
||||
prefix: /{_locale}
|
||||
requirements:
|
||||
_locale: '%app_locales%'
|
||||
defaults:
|
||||
_locale: '%locale%'
|
3
app/config/routes/dev/framework.yaml
Normal file
3
app/config/routes/dev/framework.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
_errors:
|
||||
resource: '@FrameworkBundle/Resources/config/routing/errors.xml'
|
||||
prefix: /_error
|
7
app/config/routes/dev/web_profiler.yaml
Normal file
7
app/config/routes/dev/web_profiler.yaml
Normal file
@@ -0,0 +1,7 @@
|
||||
web_profiler_wdt:
|
||||
resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml'
|
||||
prefix: /_wdt
|
||||
|
||||
web_profiler_profiler:
|
||||
resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml'
|
||||
prefix: /_profiler
|
41
app/config/services.yaml
Normal file
41
app/config/services.yaml
Normal file
@@ -0,0 +1,41 @@
|
||||
# This file is the entry point to configure your own services.
|
||||
# Files in the packages/ subdirectory configure your dependencies.
|
||||
|
||||
# Put parameters here that don't need to change on each machine where the app is deployed
|
||||
# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
|
||||
parameters:
|
||||
locale: 'en'
|
||||
# This parameter defines the codes of the locales (languages) enabled in the application
|
||||
app_locales: ar|en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN|bg|tr|lt
|
||||
app.notifications.email_sender: anonymous@example.com
|
||||
|
||||
services:
|
||||
# default configuration for services in *this* file
|
||||
_defaults:
|
||||
autowire: true # Automatically injects dependencies in your services.
|
||||
autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.
|
||||
bind: # defines the scalar arguments once and apply them to any service defined/created in this file
|
||||
string $locales: '%app_locales%'
|
||||
string $defaultLocale: '%locale%'
|
||||
string $emailSender: '%app.notifications.email_sender%'
|
||||
|
||||
# makes classes in src/ available to be used as services
|
||||
# this creates a service per class whose id is the fully-qualified class name
|
||||
App\:
|
||||
resource: '../src/'
|
||||
exclude:
|
||||
- '../src/DependencyInjection/'
|
||||
- '../src/Entity/'
|
||||
- '../src/Kernel.php'
|
||||
- '../src/Tests/'
|
||||
|
||||
# controllers are imported separately to make sure services can be injected
|
||||
# as action arguments even if you don't extend any base controller class
|
||||
App\Controller\:
|
||||
resource: '../src/Controller/'
|
||||
tags: ['controller.service_arguments']
|
||||
|
||||
# when the service definition only contains arguments, you can omit the
|
||||
# 'arguments' key and define the arguments just below the service class
|
||||
App\EventSubscriber\CommentNotificationSubscriber:
|
||||
$sender: '%app.notifications.email_sender%'
|
Reference in New Issue
Block a user