Joe W
Joe W

Reputation: 259

Image class not found when using Intervention

I have installed Laravel 5.2 and Intervention, this is now in the composer.json file in the project.

"require": {
        "php": ">=5.5.9",
        "laravel/framework": "5.2.*",
        "intervention/image": "^2.3"
    },

After reading tutorials, it mentions an Image.php file that should be in the config folder inside the project once you have installed Intervention. I believe I have installed Intervention correctly but when I try to use the Intervention functions it does not work.

When I try to use this line of code I get this error

$resizedImg = Image::make($path)->resize(200,200);

C:\xampp\htdocs\socialNet\vendor\laravel\framework\src\Illuminate\Container\Container.php line 738:

Class image does not exist

and in the file I am using this function I include this Use statement

use Intervention\Image\Facades\Image as Image;

Upvotes: 2

Views: 16675

Answers (4)

Hamza
Hamza

Reputation: 122

if you have file in modal or controller which filename does not match with class name or name space error in any file then you will not be able to resolve this issue as i have Userold.php was givng me ps-4 error and due to this my any operation was incomplete and i was getting Intervention\Image\ImageServiceProvider::class, first resolve it if anybody have then perform next operation.

Upvotes: 0

Cevin Ways
Cevin Ways

Reputation: 984

First, you can use composer :

composer require intervention/image

Then declare it on app.php :

'providers' => [
    // ...
    Intervention\Image\ImageServiceProvider::class,
]

Then, still on app.php on 'aliases' declare it :

'aliases' => [
    // ...
    'Image' => Intervention\Image\Facades\Image::class,
]

Hope it will help

Upvotes: 1

henrik
henrik

Reputation: 1618

If you've followed the tutorial here: http://image.intervention.io/getting_started/installation#laravel And done everything as described, finally generate all the new classes with the composer command: composer dump-autoload. This will autoload your new facade. After this you can import the Image facade simply by use Image; in the class you wish to use the facade in.

Upvotes: 0

Abhishek
Abhishek

Reputation: 3967

In your app.php Add this in your aliases:

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

and in your providers

Intervention\Image\ImageServiceProvider::class,

Don't forget to do php artisan config:cache after this.

Upvotes: 14

Related Questions