我是Laravel的新手,在子目录方面遇到了麻烦。我想在控制器文件夹中创建一个admin文件夹到目前为止它还在工作。但是当我尝试使用Laravel的Input类时,它说它找不到它。
我的路线:
Route::group(array('prefix'=> 'admin', 'before' => 'auth.admin'), function() {
Route::resource('/users','Admin\UsersController');
Route::resource('/products','Admin\ProductsController');
Route::resource('/categories','Admin\CategoriesController');
Route::resource('/orders','Admin\OrdersController');
Route::resource('/reviews','Admin\ReviewsController');
});
产品控制器:
<?php namespace admin;
class ProductsController extends BaseController {
protected $layout = 'master';
/**
* Instantiate a new ProductsController instance.
*/
public function __construct()
{
$this->beforeFilter('auth.admin');
}
/**
* Display a listing of the resource.
* GET /products
*
* @return Response
*/
public function index()
{
$input = Input::all(); //here is where it finds the error
和作曲家。json自动装载:
"autoload": {
"classmap": [
"app/commands",
"app/controllers/",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php",
"app/controllers/Admin"
]
},
谢谢!
编辑:我也尝试过使用Input(和Input),它返回了"类'Facade'未找到"错误,当我尝试:
use IlluminateSupportFacadesFacade;
use Input;
还是不行
编辑2:
现在使用:
use IlluminateSupportFacadesInput;
并返回相同的错误。
编辑3:做了@ChristopherRathgeb建议的修改,现在找不到产品模型了。
答:
在做了@ChristopherRathgeb建议的修改并将添加到视图和输入类(示例$input = Input:all();
)后,它工作了!现在用动作方法重定向到这些控制器,我只是使用了action(adminProductsController),它工作了!
首先你可以使用基于命名空间的路由组:
Route::group(['namespace'=>'admin','prefix'=> 'admin', 'before' => 'auth.admin'],function() {
Route::resource('/users','UsersController');
Route::resource('/products','ProductsController');
Route::resource('/categories','CategoriesController');
Route::resource('/orders','OrdersController');
Route::resource('/reviews','ReviewsController');
});
接下来输入的问题是您需要包含input facade:
删除:
use IlluminateSupportFacadesFacade;
use Input;
并将以下内容添加到文件的顶部:
use IlluminateSupportFacadesInput;
注意:这个答案使用php 5.4数组语法。如果您还在使用php 5.3,请将[]替换为array()。
将Input
类导入到您正在使用的名称空间中。
<?php namespace admin;
use IlluminateSupportFacadesInput;
class ProductsController extends BaseController {
.....
或者从其命名空间调用Input
:
public function index()
{
$input = IlluminateSupportFacadesInput::all(); //here is where it finds the error