Тонкая настройка классов-помощников

Для тонкой настройки классов-помощников (например, yii\imagine\Image), вам нужно создать новый класс, отнаследовавшись от соответствующего базового класса (например, yii\imagine\BaseImage) и назвать его так же как конкретный класс ((например, yii\imagine\Image), включая пространство имен. В дальнейшем, этот класс будет настроен, чтобы заменить первоначальную реализацию.

Следующий пример показывает как переопределить метод autorotate() класса yii\imagine\Image:

<?php

namespace yii\imagine;

class Image extends BaseImage
{
    public static function autorotate($image, $color = '000000')
    {
        // специфичная реализация метода
    }
}

Сохраните ваш класс в отдельный файл с именем Image.php. Файл может находиться в любой директории, например /path/to/my-project/components.

Далее, необходимо дополнить секцию 'autoload' в вашем 'composer.json', добавив ссылку на вашу реализацию:

{
    ...
    "autoload": {
        ...
        "classmap": [
            {"yii\imagine\Image": "components/Image.php"},
            ...
        ]
    }
}

Обратите внимание, что тонкая настройка класса-помощника полезна только тогда, когда вы хотите изменить поведение уже существующего функционала. Если вы хотите добавить дополнительные функции для использования в своем приложении, то скорее всего будет лучше создать отдельный класс-помощник.