为什么 Laravel 7.0 中没有找到 Imagick 类?

D T*_*D T 0 php laravel

我已经安装了 Imagick:

download:
https://windows.php.net/downloads/pecl/snaps/imagick/3.4.3/php_imagick-3.4.3-7.2-ts-vc15-x64.zip
https://windows.php.net/downloads/pecl/deps/ImageMagick-7.0.7-11-vc15-x64.zip
extract php_imagick.dll to ext/
extract ImageMagick-7.0.7 to one path
ADD ImageMagick-7.0.7/bin to SYSTEM PATH
ADD "extension=imagick" in php.ini
ADD LoadFile "/yourImageMagickPath/bin/CORE_RL_Magick++_.dll" in httpd.conf
Run Code Online (Sandbox Code Playgroud)

的结果phpinfo在此输入图像描述

我尝试在控制器中测试:

 public function index()
    {
        $im = new Imagick();
        $im->newPseudoImage(100, 100, "magick:rose");
        $im->setImageFormat("png");
        $im->roundCorners(5,3);
        $type=$im->getFormat();
        header("Content-type: $type");
        echo $im->getimageblob();
        return view('home');
    }
Run Code Online (Sandbox Code Playgroud)

出现错误:

Class 'App\Http\Controllers\Imagick' not found
Run Code Online (Sandbox Code Playgroud)

为什么 Laravel 7.0 中没有找到 Imagick 类?

ker*_*olz 6

Class 'App\Http\Controllers\Imagick' not found意味着Imagick不在命名空间中App\Http\Controllers。如果你想使用,Imagick你需要在它前面加上“root”名称空间\。改变

$im = new Imagick();
Run Code Online (Sandbox Code Playgroud)

$im = new \Imagick();
Run Code Online (Sandbox Code Playgroud)