如何在Laravel 5中访问admin控制器


how to access admin controller in Laravel 5?

我想从admin文件夹访问admin控制器,但我有一些麻烦让这个工作。

routes.php

Route::group(array('namespace' => 'admin', 'prefix' => 'admin'), function() {
  Route::resource('ideas', 'AdminIdeaController');
});

AdminIdeaController.php

<?php namespace App'Http'Controllers'Admin;
use App'Http'Controllers'Controller;
use Session;
use DB;
use Route;
use User;
use Hash;
use Auth;
use Input;
use Logout;
use Validator;
use Authenticatable;
use Redirect;
use Illuminate'Http'Request;
class AdminIdeaController extends BaseController
{
    public function index()
    {
        $data['idas'] = DB::table('ideas')
            ->get();

        return View('/admin/ideas.view',$data);
    }
}

文件夹路径:

Http
    Controllers
        Admin
            AdminIdeaController .php
错误:

ReflectionException in Container.php line 736:
Class App'Http'Controllers'AdminIdeaController does not exist
5.

请帮助我如何路由这个文件夹文件。

谢谢。

您没有AdminIdeaController,但是Admin'AdminIdeaController(注意admin子文件夹)。所以,我认为你的路由应该是

Route::resource('ideas', 'Admin'AdminIdeaController');

根据您的文件夹结构,route中的命名空间是错误的。应该是Admin而不是admin这样

Route::group(array('namespace' => 'Admin', 'prefix' => 'admin'), function() {
  Route::resource('ideas', 'AdminIdeaController');
});

通过这条路由,你的控制器应该在Admin文件夹中,你可以通过/admin/ideas路由访问这个控制器

您可以使用如下命令将控制器放入文件夹

php artisan make:controller foldername/controllername

如果你想创建一个新文件夹,并把控制器放到那个文件夹中,你可以使用这个命令

php artisan make:controller foldername''controllername 

您只需要像这样将文件夹名称添加到命名空间

namespace App'Http'Controllers'name of folder

,然后运行:

composer dump-autoload

如果不工作,尝试用命令创建一个新的控制器:

php artisan make:controller nameOfFolder/nameOfController