Для тонкой настройки классов-помощников (например, 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"},
...
]
}
}
Обратите внимание, что тонкая настройка класса-помощника полезна только тогда, когда вы хотите изменить поведение уже существующего функционала. Если вы хотите добавить дополнительные функции для использования в своем приложении, то скорее всего будет лучше создать отдельный класс-помощник.