symfony 4

react Warning: Invalid DOM property class Как разрешить обычные html атрибуты

Warning: Invalid DOM property class

Известно что вместо напр. class в React надо писать className,
подобные проблемы можно убрать используя babel-plugin-react-html-attrs

Стандартная установка идет так:

symfony react.js Как добавить его с помощью npm (без yarn)

Ставим 4-ре пакета двумя командами:

npm install --save-dev @babel/preset-react
npm install  react react-dom prop-types

далее правим webpack.config.js:

// webpack.config.js
// ...

Encore
    // ...
+     .enableReactPreset()
;

ПРИМЕЧАНИЯ:

symfony The autoloader expected class ... to be defined in file Ошибка. Файл без класса

The autoloader expected class ... to be defined in file .. The file was found but the class was not in it, the class name or namespace probably has a typo in...

Ошибка возникает, когда вы просто закидываете, напр. в директорию контроллеров php-файл в котором нет класса (ну и неймспейса).

Временное решение

В моем случае в этом файле располагались аннотации всех контроллеров API, поэтому в качестве быстрого решения я добавил болванку под ожидаемый симфони класс (ну и неймспес для него), в итоге файл выглядит как-то так:

symfony Как игнорировать некоторые аннотации (doctrine vs swagger)

Ошибка вида:

An exception has been thrown during the rendering of a template [Semantical Error] The annotation ... in class ... was never imported. Did you maybe forget to add a use statement for this annotation? in .... (which is being imported from .../config/routes/annotations.yaml). Make sure annotations are installed and enabled)

Решение

В качестве решения можно использовать в любом стартовом файле проекта ( в symfony 4 можно использовать config/bootstrap.php) код, вида:

symfony Вывод сообщений сообщений исключений (ошибок) в формате JSON. Разные форматы для разных контроллеров

В файле:

config/routes/annotations.yaml

можно написать так:

controllers:
    resource: ../../src/Controller/
    type: annotation
api-controllers:
    resource: ../../src/Controller/Api
    type: annotation
    defaults:
        _format: json

В данном случае контроллеры из директории

../../src/Controller/Api  

в случае возникновения в них исключительной ситуации будут выводить сообщения именно в формате json.

symfony Кеширование - как сделать

Простой пример кеширования запроса к API с помощью кеш-контракта (см метод getClients()):

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

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

    # 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.

Переделал с

symfony Консольная команда для создания пользователя - пример

Создать простейшего пользователя можно так (если вы сделали все что до фикстур как тут, актуально как минимум для symfony 4.2
)

Pages

Subscribe to RSS - symfony 4