【问题标题】:Laravel : Structure and organize routes.phpLaravel:结构和组织 routes.php
【发布时间】:2014-03-03 06:56:39
【问题描述】:

我正在尝试在我的控制器中使用GET|POST|PUT|DELETE

我觉得我的routes.php 文件会随着我的项目越来越大而变得凌乱,因为我必须为所有GET|POST... 请求注册大量路由。

这是我现在使用的结构:

<?php
/*
|--------------------------------------------------------------------------
| Home Routes
|--------------------------------------------------------------------------
*/

//Get
Route::get('/', 'HomeController@getIndex');
Route::get('/home/logout', 'HomeController@getLogout');

//Post
Route::post('/home/login', 'HomeController@postLogin');

/*
|--------------------------------------------------------------------------
| Appointment Routes
|--------------------------------------------------------------------------
*/
//Get
Route::get('appointments', 'ApptController@getIndex');

有没有更好的方法来做到这一点?如何组织/改进此文件?

你能给我一些建议吗?谢谢!

【问题讨论】:

标签: php laravel laravel-routing


【解决方案1】:

您可以使用routes.php 中的Route::controller() 方法将传入请求直接路由到现有的Controllers:

Route::controller('home', 'HomeController');
Route::controller('appointments', 'AppointmentsController');

然后所有对home/* 的请求将由您的HomeController 处理,appointments/* 将转到AppointmentsController 等等等等。

看起来您已经使用 HTTP 方法在 Controller 中创建了函数,那么:

HTTP GET'/' 将由 HomeController@getIndex() 处理
HTTP GET'logout' 将由 HomeController@getLogout() 处理
HTTP POST'login' 将由 HomeController@postLogin() 处理

更多精彩的 Laravel 文档here

【讨论】:

    【解决方案2】:

    有一些方法可以改善你的路线,在上述情况下,你可以这样做:

    Route::group(array('prefix' => 'home'), function()
    {
        Route::get('logout', 'HomeController@getLogout');
        Route::post('login', 'HomeController@postLogin');
    });
    
    Route::get('/', 'HomeController@getIndex');
    

    另一种改进代码的方法是让您的思维更加放松。通过这种方式,您可以在一行代码中处理创建、删除、索引、更新等方法,如下所示:

    Route::resource('products', 'ProductsController');
    

    看看:http://laravel.com/docs/controllers#resource-controllers

    【讨论】:

      猜你喜欢
      • 2015-12-09
      • 2016-06-15
      • 1970-01-01
      • 2019-02-27
      • 2018-12-30
      • 2014-08-13
      • 1970-01-01
      • 2015-04-09
      相关资源
      最近更新 更多