Intervention Image Laravel 5.1

Я попытался изменить размер img, я делаю этот шаг: обновить композитор:

"intervention/image": "dev-master",

добавить строки в app/config

     Intervention\Image\ImageServiceProvider::class,
    'Image'     => Intervention\Image\Facades\Image::class

В моем контроллере:

use Intervention\Image\Image as Img;
Img::make($destination_path . $filename)->resize(200, 200)->save($destination_path . $filename);

и это ошибка:

Call to undefined method Intervention\Image\Image::make()

Все в laravel 5.1

Ответ 1

Try:

1) проверьте, есть ли у вас модель в папке приложения (по умолчанию) с именем Image

2)

a) поместите use Image; в верхнюю часть вашего контроллера

b) выбросьте это: используйте Intervention\Image\Image как Img;

c) просто используйте это: Image::make( not Img: make (

Ответ 2

У меня была такая же проблема. После многих поисковых запросов я нашел этот учебник, специфичный для Laravel 5.1.

Просто измените

use Intervention\Image\Image;

к

use Intervention\Image\Facades\Image;

Ответ 3

Самый простой способ - использовать фасад вместо поставщика. Поэтому вместо:

use Intervention\Image\Image as Img;

просто поставьте это:

use Image;

И тогда вы можете использовать его следующим образом:

Image::make($destination_path . $filename)->resize(200, 200)->save($destination_path . $filename);

Ответ 4

Просто выполните следующие шаги:

1) Откройте файл composer.json из корневого каталога

      "require": {
        "php": ">=5.5.9",
        "laravel/framework": "5.2.*",
        "laravel/socialite": "^2.0",

        // add these lines
        "illuminate/html": "5.*",
        "intervention/image": "dev-master"
    }

2) Теперь запустите команду обновления компоновщика, чтобы получить эти пакеты.

 composer update

3) Откройте файл config/app.php

a) обновите массив провайдеров следующей строкой.

     'providers' => [

        // add this line at the bottom  
        Intervention\Image\ImageServiceProvider::class
        ]

b) обновите массив псевдонимов со следующей строкой.

'aliases' => [
         // add this line at the bottom 
        'Image'     => Intervention\Image\Facades\Image::class
        ],

4) Вы закончили!

Подробнее см.: http://www.pranms.com/intervention-image-integration-in-laravel/

Ответ 5

Открыть: config/app.php

Добавить в массивные псевдонимы:

'Image' => Intervention\Image\ImageManagerStatic::class,

В контроллере:

use Image;