我试图通过
在mac终端中制作laravel 4控制器 php artisan controller:make UserController
它工作并将控制器插入文件夹。
在我的route.php中,我添加:
Route::controller('users', 'UserController');
在我的用户控制器中,我做了
return "Hello world"
但是当我输入localhost / users时,它不会在/ users / create中显示任何内容。
我该怎么办?
跟踪错误:
Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException
open: /Applications/XAMPP/xamppfiles/htdocs/salety/laravel/vendor/laravel/framework/src/Illuminate/Routing/Router.php
* @param Exception $e
* @return void
*/
protected function handleRoutingException(\Exception $e)
{
if ($e instanceof ResourceNotFoundException)
{
throw new NotFoundHttpException($e->getMessage());
}
UserController中
<?php
class UserController extends \BaseController {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
return "Hello world!";
}
/**
* Show the form for creating a new resource.
*
* @return Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @return Response
*/
public function store()
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param int $id
* @return Response
*/
public function update($id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return Response
*/
public function destroy($id)
{
//
}
}
答案 0 :(得分:2)
使用RESTful控制器时,需要将Index更改为getIndex。
答案 1 :(得分:2)
使用artisan命令创建的内容为resource controller。
要使其正常工作,请将routes.php文件更改为:
Route::resource('users', 'UserController');
这将使/ users路由资源并允许它正确响应。
请务必查看资源控制器上的documentation并确保注意由资源控制器处理的操作部分,因为这为您提供了使用哪些方法的关键对于哪个URI。
答案 2 :(得分:1)
对于restfull控制器,你需要使用这个形式getIndex,getCreate,postRegister..etc,你可以使用Route :: controller()或Route :: resource()
答案 3 :(得分:0)
更改routes.php中的内容后,您需要运行
php composer dump-autoload
使用已编辑的路径刷新自动加载文件。