Дефенирование конфигурации как сервиса? конфигурации типа такой symfony.com/doc/current/components/config/definiti... когда ключ-значение - не хватае
и я сделал class DownloadMap
private static $filter =
"key" => "category"
"field" => "property__category__multi_string
]
private static $order =

"key" => "name"
"field" => "name
]

"key" => "format"
"field" => "control__mimeType__string
]

"key" => "size"
"field" => "control__fileSize__string

]
public static function getFilter(

return self::$filter

public static function getOrder(

return self::$order

ну и в контроллере вызов DownloadMap::getOrder(
но вот что если надо переопределить в следующем проекте? вернее не "что если" а на реально над
пихать в сервис-контейнер?parameters
download_map_class: namespace\DownloadMa
services
download_map
class: %download_map_class
криво или нет получается
$this->container->get("download_map")->getOrder(
как можно такое сделать?

21 Авг 2019 в 07:02
178 +1
0
Ответы
1

Для более гибкого и настраиваемого подхода вы можете использовать сервис контейнер и инъекцию зависимостей. Вместо использования статического класса DownloadMap, вы можете создать сервис DownloadMapService и зарегистрировать его в сервис-контейнере.

Пример:

Создайте класс DownloadMapService:namespace App\Service
class DownloadMapServic

private $filter
private $order
public function __construct(array $filter, array $order

$this->filter = $filter
$this->order = $order

public function getFilter(

return $this->filter

public function getOrder(

return $this->order

}Зарегистрируйте сервис в файле конфигурации сервис-контейнера:services
App\Service\DownloadMapService
arguments
$filter: ['key' => 'category', 'field' => 'property__category__multi_string'
$order:
- ['key' => 'name', 'field' => 'name'
- ['key' => 'format', 'field' => 'control__mimeType__string'
- ['key' => 'size', 'field' => 'control__fileSize__string']Теперь, в вашем контроллере или другом месте, где нужно использовать DownloadMapService, вы можете инжектировать его через контейнер:$downloadMapService = $this->container->get('App\Service\DownloadMapService')
$downloadMapService->getOrder();

Этот подход позволит вам легко переопределить параметры и настройки DownloadMapService для разных проектов, достаточно изменить конфигурацию в файле сервис-контейнера.

20 Апр в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 90 581 автору
Первые отклики появятся уже в течение 10 минут
Прямой эфир