我是Laravel &的新手,現在在L-4上構建一個應用程序,但卡在一個地方。無法理解如何生成相對於基本網址的網址。在laravel-3,我知道這可以通過生成相對於laravel中的基礎url 4
$url = URL::to('user/profile');
完成,但是,在L-4,我們如何能做到這一點..?
我是Laravel &的新手,現在在L-4上構建一個應用程序,但卡在一個地方。無法理解如何生成相對於基本網址的網址。在laravel-3,我知道這可以通過生成相對於laravel中的基礎url 4
$url = URL::to('user/profile');
完成,但是,在L-4,我們如何能做到這一點..?
首先,你需要創建一個名爲路線像
說喲想去http://baseurl/user
並運行「showuser」定義的方法控制「ALLUSERS」
那麼你的路由shold是這樣的: -
Route::get('user', array('as' => 'myuser', 'uses' => '[email protected]'));
現在您的網址/用戶將
$myuserurl = URL::to('/myuser');
echo $myuserurl; // would be http://baseurl/user
我希望這可以幫助你。請參照http://laravel.com/docs/routing#named-routes
要生成相對網址,你可以使用URL::route
或URL::action
,因爲它們允許通過一個$absolute
參數默認爲true
。因此,使用命名路由例如,當得到一個相對URL,可以使用以下命令:
URL::route('foobar', array(), false)
這將產生像/foobar
的URL。
這是最接近正確答案的問題。 URL :: route()生成一個指定路由的URL,最後一個'false'參數規定生成的路由是相對的。爲了清楚起見,生成的URL將是命名路由定義的URL,不一定是'/ foobar' – sebt
不應該是'URL :: to('myuser');'因爲它會調用路由的名稱來確定鏈接到哪裏而不是直接鏈接到路由?如果它是'URL :: to('/ myuser')',我認爲路由應該是'Route :: get('/ myuser',array('as'=>'myuser','uses'=>'allusers '#showuser'));' – user1669496
您可以定義不帶前導斜槓的路由(/),並且可以直接使用URL :: Route來獲取指定的路由URL: - Route :: get =>'myuser','uses'=>'allusers @ showuser'));用法 - URL :: route('myuser',array()) –
Downvoted作爲答案是誤導。 URL :: to()不會路由到指定路由,也不會生成相對URL。 – sebt