我是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