@Snewer

Как оформить произвольный класс в Yii2?

Здравствуйте!

Есть класс, который работает с API стороннего ресурса. Например, загружает изображения. Куда правильней всего, следуя структуре MVC, вынести данный класс? Как его оформить?

p.s. Класс написан своими силами, а не распространяется как composer пакет.
  • Вопрос задан
  • 452 просмотра
Решения вопроса 1
Decadal
@Decadal
MVC - архитектура, которая строится при помощи связки модель-вьюха-контроллер. Но это не значит, что любой класс, который вы захотите создать, должен быть либо вьюхой, либо контроллером, либо моделью. Нет, смотрите по назначению вашего класса - в Yii2 существуют хелперы, которые просто созданы в папке helpers (можете создать свою - frontend/helpers, почему бы и нет?). И вызываются примерно так: ArrayHelper::getValue($array, 'foo.bar.name');
Возможно, ваш класс лучше оформить как сервис - тогда почитайте про сервис-локатор. Читайте документацию, смотрите, как работает сам Yii2 и черпайте решения из него же.
Где именно создавать классы? Решайте сами. Если работаете с advanced-шаблоном, можете создать в common папку components и запилить там свои классы. Не забудьте для них указать namespace common\components; и тогда вы сможете подключать их так:
use common\components\MyClassName;
//...
$api = new MyClassName($someConfig);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы