2017-06-16 99 views
0

我受够了这个错误,使用管理员和用户登录项目,并得到这个错误。Laravel 5.4:ReflectionException在Container.php行749:类应用程序 HTTP 控制器管理 ImageGalleryController不存在

请看我的文件。

这是错误的截图: enter image description here

路线的画廊上传:

Route::get('gallery-upload', '[email protected]'); 
 
Route::post('/gallery-upload', '[email protected]'); 
 
    
 
Route::delete('/gallery-upload/{id}', '[email protected]');

控制器的文件:

<?php 
 

 
namespace App\Http\Controllers; 
 

 
use Illuminate\Http\Request; 
 

 
use App\ImageGallery; 
 

 

 

 

 

 
class ImageGalleryController extends Controller 
 
{ 
 
    /** 
 
    * Listing Of images gallery 
 
    * 
 
    * @return \Illuminate\Http\Response 
 
    */ 
 

 
    
 

 

 
    public function index() 
 
    { 
 
    \t $images = ImageGallery::get(); 
 
    \t return view('gallery-upload',compact('images')); 
 
    } 
 

 
    public function img() 
 
    { 
 
     $images = ImageGallery::get(); 
 
     return view('gallery',compact('images')); 
 
    } 
 
    // /** 
 
    // * Upload image function 
 
    // * 
 
    // * @return \Illuminate\Http\Response 
 
     
 
    public function upload(Request $request) 
 
    { 
 
    \t $this->validate($request, [ 
 
    \t \t 'title' => 'required', 
 
      'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048', 
 
     ]); 
 

 
     $input['image'] = time().'.'.$request->image->getClientOriginalExtension(); 
 
     $request->image->move(public_path('images'), $input['image']); 
 

 
     $input['title'] = $request->title; 
 
     ImageGallery::create($input); 
 

 
    \t return back() 
 
    \t \t ->with('success','Image Uploaded successfully.'); 
 
    } 
 

 
    /** 
 
    * Remove Image function 
 
    * 
 
    * @return \Illuminate\Http\Response 
 
    */ 
 
    public function destroy($id) 
 
    { 
 
    \t ImageGallery::find($id)->delete(); 
 
    \t return back() 
 
    \t \t ->with('success','Image removed successfully.'); \t 
 
    } \t 
 
}

+0

假如你创建'Admin'目录'ImageGalleryController'?我确定有命名空间问题! –

+0

有对admin/ImageGalleryController没有路由,那么怎么能来到这个错误..类应用程序\ HTTP \控制器\管理\ ImageGalleryController不存在, 这是命名空间的问题.. –

+0

是的,我已经添加了命名空间。 namespace App \ Http \ Controllers \ Admin; –

回答

0

你的命名空间看起来这是错的,我没有看到它的任何地方管理,这是应用所期待的。

App\Http\Controllers\ImageGalleryController 

App\Http\Controllers\Admin\ImageGalleryController 
+0

改变namesapce管理员... 现在我得到这个新的错误... FatalErrorException在ImageGalleryController.php线14: 类“应用程序\ HTTP \控制器\管理\控制器”未找到 –

+0

你需要运行作曲家dumpautoload或php工匠优化再生自动加载的类文件。 – btl

+0

您必须在Route中添加它 'Route :: post('/ gallery-upload','Admin \ ImageGalleryController @ upload');' 而且您还必须更改ImageGalleryController中的命名空间 'namespace App \ HTTP \控制器\联系;' –

1

路由文件

Route::get('gallery-upload', 'Admin\[email protected]'); 
Route::post('/gallery-upload', 'Admin\[email protected]'); 

Route::delete('/gallery-upload/{id}', 'Admin\[email protected]'); 

控制器的文件:

namespace App\Http\Controllers\Admin; 

use Illuminate\Http\Request; 

use App\ImageGallery; 

class ImageGalleryController extends Controller 
{ 
    /** 
    * Listing Of images gallery 
    * 
    * @return \Illuminate\Http\Response 
    */ 

    public function index() 
    { 
     $images = ImageGallery::get(); 
     return view('gallery-upload',compact('images')); 
    } 

    public function img() 
    { 
     $images = ImageGallery::get(); 
     return view('gallery',compact('images')); 
    } 
    // /** 
    // * Upload image function 
    // * 
    // * @return \Illuminate\Http\Response 

    public function upload(Request $request) 
    { 
     $this->validate($request, [ 
      'title' => 'required', 
      'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048', 
     ]); 

     $input['image'] = time().'.'.$request->image->getClientOriginalExtension(); 
     $request->image->move(public_path('images'), $input['image']); 

     $input['title'] = $request->title; 
     ImageGallery::create($input); 

     return back() 
      ->with('success','Image Uploaded successfully.'); 
    } 

    /** 
    * Remove Image function 
    * 
    * @return \Illuminate\Http\Response 
    */ 
    public function destroy($id) 
    { 
     ImageGallery::find($id)->delete(); 
     return back() 
      ->with('success','Image removed successfully.');  
    } 
} 
相关问题