2017-08-31 7 views
0

Dieser ist mein Code:Laravel 5.5 benutzerdefinierte Hilfsdatei Klasse werden nicht existiert

//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; 
    } 
?> 

Ich habe schon bei meinem composer.json hinzufügen:

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

Wenn ich diesen Code ausführen: image_helper()->get($query, '/images');

bekam ich ReflectionException (-1) Class image_helper does not exist

tun Bereits composer dump-autoload, php artisan optimize ist es immer noch dasselbe.

Zuvor bei Laravel 5.4 funktioniert es perfekt.

Irgendeine Lösung?

Antwort

0

Problem ist in dieser Zeile in Ihrer Hilfsfunktion:

$image = app('image_helper');

ändert es dazu:

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

Und jetzt seine Arbeit

+1

'app (Imagehelper :: Klasse) 'ist gleich, sieht aber meiner Meinung nach schöner aus – mimo

Verwandte Themen