Это мой код:
//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 он работал отлично.
Любое решение?
Проблема в этой строке в вашей вспомогательной функции:
$image = app('image_helper');
Измените это на это:
$image = app('App\Helpers\ImageHelper');
И теперь его работа
Других решений пока нет …