【问题标题】:How does Routing work in PHP laravel?路由在 PHP laravel 中是如何工作的?
【发布时间】:2017-08-16 12:49:51
【问题描述】:

我刚刚开始使用Laravel 框架,我已经看到了这个:

  Route::get('foo', function () {
    return 'Hello World';
});

有人能解释一下这是什么吗?我的意思是我知道什么是 get 。但是为什么我们放 'foo' 然后我们放闭包呢? 另外,我真正从哪里获得信息?

【问题讨论】:

    标签: php laravel routes


    【解决方案1】:

    首先我们声明 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');
    }
    

    【讨论】:

      【解决方案2】:

      首先,阅读documentation,它非常简单,即使对于初学者也是如此。

      一步一步:

      get 是您在此特定路线上使用的 HTTP 方法。另一个最常用的是POST,但还有更多。

      foo 是路由,在这种情况下将是:www.example.com\foo。您可以根据需要输入任何名称。

      作为Route 外观的第二个参数,您输入要处理端点的控制器/视图的闭包/名称,例如

      Route::get('foo', 'SomeController@method'); 
      
      
      Route::get('foo', function(){ 
          return view('some.view');
      };
      

      路由选项还有很多,不难理解,看看文档或者一些视频教程就可以了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-07-18
        • 2014-04-28
        • 2020-03-21
        • 2012-09-07
        • 2016-12-21
        • 2021-11-24
        • 2016-05-15
        • 1970-01-01
        相关资源
        最近更新 更多