Пользовательский вспомогательный файл Laravel 5.5 Класс стать не существует

Это мой код:

//helpers.php
if (!function_exists('image_helper')) {
function image_helper($file = NULL, $path = NULL)
{
$image = app('image_helper');

if (!is_null($file) && is_null($path)) {
return $image->generateTmp($file);
}

return $image;
}
}

// ImageHelper.php
<?php

namespace App\Helpers;

use Illuminate\Http\File;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Storage;
use Intervention\Image\Facades\Image;
use Spatie\ImageOptimizer\OptimizerChainFactory;
use Symfony\Component\HttpFoundation\File\UploadedFile;

class ImageHelper
{
private $fileName, $sizes;

function __construct()
{
$this->fileName = md5(time() . openssl_random_pseudo_bytes(16));
}

public function get($query, $path, $type)
{
$arr = [];
$sizes = getImageSizes($type);

$picture = $query->picture()->first();

if ($picture) {
foreach ($sizes as $key => $size) {
$url = filter_var($picture->file, FILTER_VALIDATE_URL) ?
$picture->file :
Storage::url($path . $key . '/' . $picture->file);

$arr = array_add($arr, $key, $url);
}
}

return $arr;
}
?>

Я уже добавил в свой composer.json:

"autoload": {
"classmap": [
"database/seeds",
"database/factories",
"app/Helpers/helpers.php"],
"psr-4": {
"App\\": "app/"},
"files": [
"app/Helpers/helpers.php"]
},

Когда я запускаю этот код: image_helper()->get($query, '/images');

я получил ReflectionException (-1) Class image_helper does not exist

Уже делаю composer dump-autoload, php artisan optimize это все то же самое.

Ранее на Laravel 5.4 он работал отлично.

Любое решение?

0

Решение

Проблема в этой строке в вашей вспомогательной функции:

$image = app('image_helper');

Измените это на это:

$image = app('App\Helpers\ImageHelper');

И теперь его работа

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]