Laravel 中的路由和控制器是什么?

What is routing and controllers in Laravel?

我是 Laravel 的新手,只用 PHP 使用长而重复的函数手动编码。我基本上对使用框架编码一无所知,所有这些手册和说明对我来说都是无稽之谈。

你能解释一下 Laravel 中的路由、控制器和其他东西吗?就像使用示例的新手一样。
我在没有框架的情况下编码没有问题,但现在就像从基础开始学习编码一样。我不知道框架如何以这种方式帮助简化我的工作。 不过,我厌倦了编写庞大且重复的代码。
Laravel 文档或其他站点中的手册很复杂,适用于已有经验的人。

谢谢!

我想你已经阅读了上面 link 的 MVC 基础知识:

MVC in PHP – General understanding and specific questions

Understanding MVC

MVC (Laravel) where to add logic

希望对你有帮助!

如果您是 Laravel 的新手,可以从 Laracasts 上的以下系列文章开始学习 https://laracasts.com/series/laravel-5-from-scratch

基本上可以回答您的问题,路由是获取 http 请求并将该特定请求转换为需要遵循的路径(路由)到端点的过程,其中端点是处理特定请求的代码.

我想您知道 http 动词之间的区别,例如 GET、POST、PUT 和 DELETE。 Laravel 路由允许您定义和侦听特定的动词,然后将该动词+请求映射到特定的代码段,或者在闭包内,或者端点可以是对控制器的引用。

控制器基本上是服务和处理应用程序的 http 层的代码容器。

所以简单来说,路由器将传入请求委托给控制器来处理请求和 return 响应。

让我们看一个例子:

http://dev.localhost/blog

所以基本上我们有一个请求博客路径(或路由)的 GET http 动词。要在 Laravel 中处理此请求,您需要。

Route::get('/blog', function () {
    echo "Handle the specific request";
});

现在上面的代码将捕获 /blog 请求并且闭包将为响应提供服务。要将相同的请求传递给控制器​​,您需要指定控制器 class 和方法。

Route::get('/blog', 'BlogController@index');

所以上面我们有一个 BlogController class 将包含和 index 函数将处理和 return /blog 请求的响应。

Class BlogController extends Controller
{
    public function index()
    {
        return 'Response for the blog request.';
    }
}