我是laravel的新手,我遇到了路由問題。Laravel路由
我想要做的就是用我的路線,像這樣
域/ {控制器}/{行動}
所以,我可以去家中的測試頁
首頁/測試
該文檔對我來說沒有任何意義,所以如果任何人都可以指出我會朝着正確的方向發展。目前,我正在爲每個頁面硬編碼我的路線。
我是laravel的新手,我遇到了路由問題。Laravel路由
我想要做的就是用我的路線,像這樣
域/ {控制器}/{行動}
所以,我可以去家中的測試頁
首頁/測試
該文檔對我來說沒有任何意義,所以如果任何人都可以指出我會朝着正確的方向發展。目前,我正在爲每個頁面硬編碼我的路線。
基本上你可以開始於:
Route::get('Domain/{controller}/{action?}', function ($controller, $action = 'index') {
$class = $controller.'Controller';
$controller = new $class()
return $controller - > {
$action
}();
}) -> where(array('controller' = > '[a-z]+', 'action' = > '[a-z]+'))
,你可以改變路線::與路線::任何趕上這一切
其他簡單的測試,例如得到(應該是工作:)
路線::任何(「{控制器}/{行動?}」,函數($控制器,$動作= '索引') {
$class = $controller . 'Controller';
$controller = new $class();
return $controller->{$action}();
});
我對Laravel框架沒有太多的知識。但總體來說這應該工作:
Route::get('Domain/{controller}/{action}', function($controller, $action)
{
//
})
->where(array('controller' => '[a-z]+', 'action' => '[a-z]+'))
我怎麼在這個函數返回? –
Basic GET Route
Route::get('controller/method', function()
{
//
});
Basic POST Route
Route::post('controller/method', function()
{
});
Named Route:
Route::get('controller/action', array('uses' =>'[email protected]'));
假設它是你的表單操作:
{{ Form::open(array('route' => 'register.store')) }}
,那麼你可以編寫代碼路由爲:
Route::get('register', array(
'uses' => '[email protected]',
'as' => 'register.index'
));
Route::post('register', array(
'uses' => '[email protected]',
'as' => 'register.store'
));
您可以設置路由是這樣的:
Route::get('/orders/nieuw', '[email protected]');
Route::post('/orders/nieuw', '[email protected]_nieuw');
Route::get('/orders/edit/{orderId}', '[email protected]');
Route::post('/orders/edit/{orderId}', '[email protected]_edit');
Route::get('/orders/show/{idPartij}', '[email protected]');
Route::get('/orders/show_row/{idPartij}/{row_id}', '[email protected]_row');
Route::get('/orders/{active?}', '[email protected]');
簡體版:
Route::get
只是在說:當我們收到獲取途徑,符合條件的,做一些事情。
條件('/orders/nieuw'
是在轉換爲http://www.domain.com/orders/nieuw
一個URL如果條件被滿足,其中,要使用的OrdersController
和執行函數nieuw
(其爲OrdersController class
內部的public function
)
相同適用於post
請求。
你可以通過參數{param}
。如果你有沒有必要PARAM可以使用{param?}
如果您需要更多的信息,讓我知道
編輯1 如果你讀this,那麼你應該說,以下是clossest爲它可以得到:
Route::get('home/test');
Route::get('home/test2');
Route::resource('home', 'HomeController');
這樣的話,你只需要申報控制器1次,非標鏈接...
這就是我目前正在發生的事情。我只想要一種不必爲每一個動作指定路線的方法。 –
@DanielDC,我已經更新了我的答案。也許這就是你想要的... – Mathlight
改變路線::得到與路線::任何趕上它;) – BigfishDim
這是我想要的,但它似乎並沒有工作 –
1)什麼是控制器的名稱?它是否結束'控制器',如果不是,你可以從代碼中刪除它。 2)返回$ controller - > {$ action}();是一條線。 3)什麼是錯誤^^? – BigfishDim