【发布时间】:2017-08-16 12:49:51
【问题描述】:
我刚刚开始使用Laravel 框架,我已经看到了这个:
Route::get('foo', function () {
return 'Hello World';
});
有人能解释一下这是什么吗?我的意思是我知道什么是 get 。但是为什么我们放 'foo' 然后我们放闭包呢? 另外,我真正从哪里获得信息?
【问题讨论】:
我刚刚开始使用Laravel 框架,我已经看到了这个:
Route::get('foo', function () {
return 'Hello World';
});
有人能解释一下这是什么吗?我的意思是我知道什么是 get 。但是为什么我们放 'foo' 然后我们放闭包呢? 另外,我真正从哪里获得信息?
【问题讨论】:
首先我们声明 Route 的 Facade,将其视为使用 Route 类的快捷方式。
之后,我们选择路由的方法,可以是:
Route::get($uri, $callback); //get
Route::post($uri, $callback); //post
Route::put($uri, $callback); //put
Route::patch($uri, $callback); //patch
Route::delete($uri, $callback); //delete
现在你选择页面的url,例如:
如果您在浏览器中输入数字:
www.foobar.com/user/profile
Laravel 会搜索带有user/profile 参数的路由,像这样:
Route::get('user/profile', function () {
return 'Hello World';
});
你也可以传递变量,
Route::get('user/{id}', function () {
return 'Hello World';
});
之后,你选择回调方法,也就是说,当laravel进入路由时会发生什么。
在您的示例中,您有函数示例,只是返回一个简单的“hello world”。
这里最好的做法是创建一个控制器
php artisan make:controller FoobarController --resource
并参考您的控制器的任何方法
Route::get('user/profile', 'FoobarController@index');
现在,当 laravel 找到路由时,它会重定向到 Foobar 控制器的 index 方法,然后在那里定义你的逻辑
public function index() {
return view('welcome');
}
【讨论】:
首先,阅读documentation,它非常简单,即使对于初学者也是如此。
一步一步:
get 是您在此特定路线上使用的 HTTP 方法。另一个最常用的是POST,但还有更多。
foo 是路由,在这种情况下将是:www.example.com\foo。您可以根据需要输入任何名称。
作为Route 外观的第二个参数,您输入要处理端点的控制器/视图的闭包/名称,例如
Route::get('foo', 'SomeController@method');
Route::get('foo', function(){
return view('some.view');
};
路由选项还有很多,不难理解,看看文档或者一些视频教程就可以了。
【讨论】: