我想从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