Не обнаруживается класс расширения Imagine

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
gbushmakin
Сообщения: 31
Зарегистрирован: 2019.06.20, 12:38

Не обнаруживается класс расширения Imagine

Сообщение gbushmakin »

Добрый день. Yii2 на локальном сервере OpenServer. Установился Imagine через composer, и все файлы данного расширения появились в проекте. Но теперь пытаюсь выполнить resize и в итоге ошибка, будто я не подключился к классу yii\imagine\Image.

В чем может быть проблема?

Ошибка:

Код: Выделить всё

Class 'yii\imagine\Image' not found
Код:

Код: Выделить всё

<?php
namespace app\controllers;

use yii;
use yii\web\Controller;

use yii\imagine\Image;
use Imagine\Image\Box;

class UpdateController extends Controller
{

    public function actionIndex() {

        $imagesrc = 'https://st4.depositphotos.com/9790088/24032/i/950/depositphotos_240323916-stock-photo-huai-mae-khamin-waterfall-tier4.jpg';

        echo $this->UploadImage($imagesrc);

        return;

    }

    private function UploadImage($file) {

        $filename = Yii::$app->getSecurity()->generateRandomString(15).'.jpg';

        $name_big = 'data/test/'.$filename;

            Image::resize($file, 800, 800)
                ->save($name_big);


            return $name_big;
    }

}
В autoload_psr4.php имеется строка

Код: Выделить всё

    'yii\\imagine\\' => array($vendorDir . '/yiisoft/yii2-imagine/src'),
gbushmakin
Сообщения: 31
Зарегистрирован: 2019.06.20, 12:38

Re: Не обнаруживается класс расширения Imagine

Сообщение gbushmakin »

В общем как вариант возникновения проблемы - yii2 лежал не в самом корне, а в отдельной директории. Но это тоже не привело к решению, т.к. openserver устанавливал расширение всегда в корень и как правило, не попадал в yii2. Это я никак не мог исправить. Помогла только в конце концов команда Composer update в директирии с yii2. Через командную строку обновил и после заработало как надо.
Ответить