yaml

codeception Пользовательские (свои, нестандартные) параметры в конфиге yml и их переопределение через параметры команды

В codeception.yml (лежит в корне вашего проекта), добавим новый пользовательский параметр init_style, получим что-то вроде:

namespace: App\Tests
paths:
    tests: tests
    output: tests/_output
    data: tests/_data
    support: tests/_support
    envs: tests/_envs
actor_suffix: Tester
extensions:
    enabled:
        - Codeception\Extension\RunFailed
params:
    - .env.test

init_style: "full"

Далее внутри Cest-а использовать этот параметр можно как-то так:

symfony parameters Использование значение одного пользовательского параметра в другом. Конкатенация (config/services.yaml)

Можно так:

parameters:
  my_dir: 'uploads/avatars'
  my_dir_abs: '%kernel.project_dir%/public/%my_dir%'

#

(переиспользовали параметр my_dir)
-- с данном случае для абсолютных и относительных путей (относительно корня сайта). Относительный путь удобно использовать отдельно напр. для формирования ссылок.

В принципе точно также мы обращаемся и к стандартному параметрту %kernel.project_dir% (корневая папка приложения).

symfony yaml include (imports) Как включать дополнительные отдельные файлы в конфигурацию

в symfony 4.3:

Вы можете в конце основного config/services.yaml добавить инструкцию вида:

imports:
    - { resource: frontend.yaml }

И положить в ту же папку что и config/services.yaml, файл frontend.yaml с содержимым вроде:

parameters:
    frontend:
        format:
            datetime: 'yyyy-mm-dd'

В контроллере в значению можно будет обратиться как и для основного файла, в данном случае:

symfony yaml Как получить значения параметров из конфига

В Symfony 4.3

У вас есть ямл-конфиг (напр. config/services.yaml):

parameters:
    locale: 'ru'
    frontend:
        format:
            datetime: 'yyyy-mm'
    datetime: 'yyyy-mm-dd'

Тогда в контроллере в зависимости от уровня вложенности доступ к параметрам можно получить так:

symfony detime normalizer Как десериализовывать дэйттайм и связанные сущности (объект по id)

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:
            Symfony\Component\Serializer\SerializerInterface $apiSerializer: '@api.serializer'

   #..........

    Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer: ~
    Symfony\Component\Serializer\Encoder\JsonEncoder: ~

    app.entity_serializer:

swagger Как сгнерировать HTML страницу c документацией (напр. из yaml)

Предположим, что yaml с информацией о метода вы генерировать уже уже научились и теперь нам надо перегнуть его в html.

Наиболее простым способом является (но не самым быстрым и удобным):

  1. взять сгенерированный yaml
  2. добавить его слева в область кода на https://editor.swagger.io/
  3. и далее из главного меню:
    Generate Client -> html2

    качаем получившийся html и наслаждаемся)

symfony yaml Где хранить секреты: ignore Как игнорировать и не хранить в репозитории важные данные (напр. для сервиса). .env

Можно ссылать на переменные окружения в ямле, например (пример конфигурации сервиса):

    # explicitly configure the service
    App\Service\VkApiClientService:
        arguments:
            $accountId: '%env(VK_ACCOUNT_ID)%'
            $apiVersion: '%env(VK_API_VERSION)%'
            $accessToken: '%env(VK_ACCESS_TOKEN)%'

а сами переменные задать в .env.local файле (которые держат в gitignore), например для примера выше значения переменных в этом файле можно задать так:

symfony service Передача параметров сервиса в yaml файле: must be null, an instance of..., you should configure its value

Проблема с передачей параметров пользовательскому сервису в sumfony 4:

Invalid service the value of argument "..." of method "...::__construct()" must be null, an instance of Symfony\Component\DependencyInjection\Reference or an instance of Symfony\Component\DependencyInjection\Definition, string given.

Переделал с

Subscribe to RSS - yaml