如何在Laravel 4中完成此操作
URL::route('auth.reset', array('kh34KHh4K342'))
而不是
http://domain.tld/auth/reset?kh34KHh4K342
我想得到这个:
http://domain.tld/auth/reset/kh34KHh4K342
这是我的routes.php:
问题是因为我有两条同名的路线?你怎么解释这个?
我应该设置一个不同的名称事件是同一类型,不同的方法
// Set locale
$locale = Request::segment(1);
if(in_array($locale, Config::get('app.languages'))) {
\App::setLocale($locale);
} else {
$locale = null;
}
Route::group(
array( 'prefix' => $locale ), function () {
Route::get('/'), array( 'uses' => 'HomeController@getIndex', 'as' => '/' ));
// Auth
Route::group(
array( 'prefix' => 'auth' ), function () {
// Login
Route::get(
'login', array( 'before' => 'guest',
'uses' => 'UserController@getLogin',
'as' => 'auth.login' )
);
Route::post(
'login', array( 'before' => 'guest|csrf',
'uses' => 'UserController@postLogin',
'as' => 'auth.login' )
);
Route::get(
'reset/{$token}', array( 'uses' => 'UserController@getReset',
'as' => 'auth.reset' )
);
Route::post(
'reset', array( 'uses' => 'UserController@postReset',
'as' => 'auth.reset' )
);
}
);
答案 0 :(得分:1)
变化
URL::route('auth.reset', array('kh34KHh4K342'))
到
URL::route('auth.reset', 'kh34KHh4K342')
答案 1 :(得分:0)
你可以试试这个。
在你的routes.php中
Route::controller('auth', 'AuthController');
在您的控制器
中 class AuthController extends BaseController {
public function getReset($hashcode) {
...code here
}
}
它看起来像http://domain.tld/auth/reset/<hascode>