Я работаю над проектом SilverStripe. Версия проекта SilverStripe 4.4.4. В моем проекте я пытаюсь заменить класс, введенный для интерфейса. И интерфейс, и класс являются частью фреймворка.
В коде фреймворка он имеет следующий класс
class NaturalFileIDHelper implements FileIDHelper
Как видите, NaturalFileIDHelper реализует интерфейс FileIDHelper. Я хочу заменить все экземпляры NaturalFileIDHelper своим клиентским классом CustomFileIDHelper, который также реализует интерфейс FileIDHelper.
Это то, что я сделал.
Я создал пользовательский класс с именем CustomFileIDHelper, который реализует интерфейс FileIDHelper.
Затем я добавил следующий фрагмент кода в mysite.yml.
SilverStripe\Assets\FilenameParsing\FileIDHelper:
class: CustomFileIDHelper
Затем я перестроил проект. Но мой проект все еще использует класс NaturalFileIDHelper, который поставляется с фреймворком. Кажется, что класс CustomFileIDHelper не используется.
Как мне заставить его работать? Возможно ли это сделать?