Cannot autowire service "currency_converter_bundle.action.add": argument "$currencyApiService" of method "Bundles\CurrencyConverterBundle\Action\AddAction::__construct()" references class "Bundles\CurrencyConverterBundle\Service\CurrencyApiService" but no such service exists. You should maybe alias this class to the existing "currency_converter_bundle.service.currency_api" service.
bundles/CurrencyConverterBundle
, прописал новое пространство имен в composer.jsonparameters:
currency_converter_bundle.translation_domain: CurrencyConverterBundle
# Class actions:
currency_converter_bundle.action.dashboard.class: Bundles\CurrencyConverterBundle\Action\DashboardAction
currency_converter_bundle.action.list.class: Bundles\CurrencyConverterBundle\Action\ListAction
currency_converter_bundle.action.add.class: Bundles\CurrencyConverterBundle\Action\AddAction
currency_converter_bundle.action.edit.class: Bundles\CurrencyConverterBundle\Action\EditAction
currency_converter_bundle.action.convert.class: Bundles\CurrencyConverterBundle\Action\ConvertAction
# Class services:
currency_converter_bundle.service.currency_api.class: Bundles\CurrencyConverterBundle\Service\CurrencyApiService
services:
_defaults:
autowire: true
autoconfigure: true
public: false
# Actions
currency_converter_bundle.action.dashboard:
class: '%currency_converter_bundle.action.dashboard.class%'
currency_converter_bundle.action.list:
class: '%currency_converter_bundle.action.list.class%'
currency_converter_bundle.action.add:
class: '%currency_converter_bundle.action.add.class%'
currency_converter_bundle.action.edit:
class: '%currency_converter_bundle.action.edit.class%'
currency_converter_bundle.action.convert:
class: '%currency_converter_bundle.action.convert.class%'
# Services
currency_converter_bundle.service.currency_api:
class: '%currency_converter_bundle.service.currency_api.class%'
arguments:
- '@http_client'
- '@logger'
- '%currency_converter.api_key%'
- '%currency_converter.api_url%'
parameters:
currency_converter_bundle.translation_domain: CurrencyConverterBundle
# Class actions:
currency_converter_bundle.action.dashboard.class: Bundles\CurrencyConverterBundle\Action\DashboardAction
currency_converter_bundle.action.list.class: Bundles\CurrencyConverterBundle\Action\ListAction
currency_converter_bundle.action.add.class: Bundles\CurrencyConverterBundle\Action\AddAction
currency_converter_bundle.action.edit.class: Bundles\CurrencyConverterBundle\Action\EditAction
currency_converter_bundle.action.convert.class: Bundles\CurrencyConverterBundle\Action\ConvertAction
services:
_defaults:
autowire: true
autoconfigure: true
public: false
# Actions
currency_converter_bundle.action.dashboard:
class: '%currency_converter_bundle.action.dashboard.class%'
currency_converter_bundle.action.list:
class: '%currency_converter_bundle.action.list.class%'
currency_converter_bundle.action.add:
class: '%currency_converter_bundle.action.add.class%'
currency_converter_bundle.action.edit:
class: '%currency_converter_bundle.action.edit.class%'
currency_converter_bundle.action.convert:
class: '%currency_converter_bundle.action.convert.class%'
# Services
Bundles\CurrencyConverterBundle\Service\CurrencyApiService:
arguments:
- '@http_client'
- '@logger'
- '%currency_converter.api_key%'
- '%currency_converter.api_url%'
test:
a: 'aaa'
b: 'bbb'
<?php
return [
# System Bundles:
// ...
# Custom Bundles:
App\TestBundle\TestBundle::class => ['all' => true],
];
# ...
test_bundle:
resource: '@TestBundle/Resources/config/routes.yaml'
type: yaml
test_action:
path: /test
controller: src/TestBundle/Action/TestAction
methods: [ GET ]
collectionOperations
и itemOperations
- в третьей версии нет возможности в new GetCollections указать требуемые методы, а внутри этих методов доп опции (контекст, ролевку). 13.107.0.0/16,104.18.0.0/16,104.21.25.25/32,172.64.0.0/16,172.67.222.11/32,173.194.222.198/32
13.107.0.0/16,104.18.0.0/16,104.21.25.25/32,172.64.0.0/16,172.67.222.11/32,173.194.222.198/32,8.8.8.8/32
192.168.1.1/16, 192.168.1.1/24, 192.168.1.1/32, 8.8.8.8/32
. Эти вариант эквивалентны?new GetCollection()
, использовать не стал, так как не совсем понял, как объект коллекции затолкать:collectionOperations={
* "get"={
* "normalization_context"={"groups"="order:list"}
* },
* "post"={
* "security"="is_granted('ROLE_USER')",
* "normalization_context"={"groups"="order:list:write"}
* }
* },
flatpak remove --unused
), после использования и его - уведомление больше не всплывает.
Года 4 или 5 назад на работе только так и юзали, поэтому по старой памяти и использовал. Понял, поправлю спасибо!
---
> Если делаете бандлы, то автовайринг по-хорошему использовать не надо. Все сервисы надо объявлять ручками
Правильно ли я понял, что этот блок
Убрать или указать везде false? И про автоваринг, у меня по коду есть базовый (абстрактный класс) для экшенов
Так лучше тоже не делать? Опять таки данный пример я сделал по памяти, как делал ранее. Но вы высказали, что так лучше не делать. Или автоваринг стандартных сервисов symfony Допускается?