Laravel кастомный класс
На старом проекте использовался класс для работы с изображениями. Сейчас переношу все на ларавел. Я создал файл app/Library/Thumb.php. Подключаю класс в файл:
use App\Library\Thumb;
Использую:
$thumb = new Thumb($image->getPathName());
Весь класс вставлять не буду, ошибка появляется в конструкторе:
namespace App\Library;
class Thumb
{
//public $filename, $width, $height, $type, $img;
public function __construct($filename)
{
$this->filename = $filename;
if (empty($this->filename)) {
return 'Файл не найден';
} else {
$info = getimagesize($this->filename);
if (empty($info)) {
return 'Файл не найден';
} else {
$this->width = $info[0];
$this->height = $info[1];
$this->type = $info[2];
switch ($this->type) {
case 1:
$this->img = imageCreateFromGif($this->filename);
break;
case 2:
$this->img = imageCreateFromJpeg($this->filename);
break;
case 3:
$this->img = imagecreatefrompng($this->filename);
imageAlphaBlending($this->img, true);
imageSaveAlpha($this->img, true);
break;
case 18:
$this->img = imageCreatefromWebp($this->filename);
break;
default:
return 'Формат файла не подерживается';
break;
}
}
}
}
}
При выполнении одной из функций:
imageCreateFromGif()
imageCreateFromJpeg()
imageCreateFromPng()
Call to undefined function App\Library\imageCreateFromPng()
Данные функции стандартные в PHP и я так понимаю ларавел пытается их найти в пространстве имен данного класса? Если я убираю пространство имен из этого класса, я не могу его никуда подключить. Подскажите как сделать правильно чтобы я мог данный класс использовать в любом контроллере? Пробовал прописывать в composer.json и делать update, не получилось ничего. Я уже много перегуглил информации о подключении своих классов, везде пишут прописать простарнство имен и класс будет работать. По сути он у меня и заработал, но вот эти стандартные функции PHP не работают.