如何在使用laravel 5的路线中允许该方法?

时间:2016-02-06 12:12:17

标签: php laravel laravel-5

我试图执行该方法,但它无法正常工作。我知道这是非常基本的,可能会问更多的时间,但我没有解决。

控制器

<?php 

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class LockController extends Controller {

    /**
     * Show the profile for the given user.
     *
     * @param  int  $id
     * @return Response
     */
    public function index()
    {

        return view('lock');
    }

    public function login()
    {


        return view('login');
    }

}
?>

路线

Route::get('/lock', 'LockController@index');
Route::get('/lock', 'LockController@login');

Route::get('/lock', 'LockController@index');路由使用此http://localhost/laravelDev/public/index.php/lock网址正常工作,但另一条路由无效,我收到此错误NotFoundHttpException in RouteCollection.php line 161:。对于登录方法我使用此网址http://localhost/laravelDev/public/index.php/lock/login

我搜索了它,我遵循了这个被接受的answer的指示,但它没有用,任何人都可以指导我错在哪里。

2 个答案:

答案 0 :(得分:0)

您有两种不同方法的相同路线?我不认为这应该有用。

如果一个是get而另一个post,我可以工作。

此外,通常,网址为http://localhost/lockhttp://localhost/lock/loginpublic/index.php不一定是必需的。

将第二条路线更改为此,相当确定它能够正常工作:     Route :: get(&#39; / lock / login&#39;,&#39; LockController @ login&#39;);

答案 1 :(得分:0)


您可以提及将在routes.php文件中的控制器文件中处理所需的方法。

例:
Route :: get('url / of / the / resource','controllername @ action'); (o处理'GET'请求)。
Route :: post('url / of / the / resource','controllername @ action'); (对于'POST'请求)。

详情:
Route :: get('/ user / register','UserController @ showRegistrationForm');
这表示从给定的URL(当发出GET请求时)给出的注册如下所示:
http://localhost/your_laravel_project_folder/user/register

Route :: post('/ user / register','UserController @ handleUserRegistration');
这表示在用户提交注册表单时处理数据注册。 (发出POST请求时)。

类UserController扩展控制器
{   
公共功能showRegistrationForm()
    {
        返回视图('User.register');
    }   
公共功能handleUserRegistration()
    {
        $ registerInput = Input :: all();
后续代码var_dump($ registerInput);
    }
}