Полезно ли добавление «только для чтения» к службе DirectInjection (в Symfony)? [дубликат]Php

Кемеровские программисты php общаются здесь
Гость
Полезно ли добавление «только для чтения» к службе DirectInjection (в Symfony)? [дубликат]

Сообщение Гость »


В Symfony вы можете внедрить сервисы в контроллер и использовать их. Я получаю предположение, что свойства могут быть доступны только для чтения. См. следующие два примера:

Класс ПримерAController { публичная функция __construct( частный FooService $fooService, частный BarService $barService, ){} } класс ПримерBController { публичная функция __construct( частный FooService только для чтения $fooService, частный только для чтения BarService $barService, ){} } Есть ли какие-либо реальные преимущества/недостатки у добавления здесь readonly?

Добавление только для чтения гарантирует его неизменность и помогает защитить код от нежелательных изменений, но в случае, если это сервис, который часто имеет свои собственные зависимости, переписывать свойство будет много или работать и никак не останется незамеченным.

Чтобы внести ясность: Я говорю конкретно об услугах. Если, например, вы внедрите частную строку только для чтения $apiKey, я увижу некоторую выгоду.

Вернуться в «Php»