【问题标题】:What is the best practice the ordering of non-crud methods in controllers控制器中非粗鲁方法排序的最佳实践是什么
【发布时间】:2016-12-02 07:33:20
【问题描述】:

我的大多数控制器都遵循 laravel 文档中描述的基本 RESTful 资源控制器方法:https://laravel.com/docs/5.3/controllers。我一直在相应地订购我的方法。例如,我的控制器看起来像:

public function index()
{
    // some code
}

public function create()
{
    // some code
}

public function store()
{
    // some code
}

public function show()
{
    // some code
}

public function edit()
{
    // some code
}

public function update()
{
    // some code
}

public function destroy()
{
    // some code
}

但是,有时我有一个不是基本 CRUD 方法之一的方法,例如 download()。在最佳实践中,您应该将这种非 CRUD 方法放在哪里。我有时看到它只是在最后。

【问题讨论】:

    标签: laravel rest


    【解决方案1】:

    不需要订购。您可以在控制器中的任何位置添加该方法并且您应该为该方法添加一个路由:

    例如

    Route::get('photo/download', 'PhotoController@download');
    Route::resource('photo', 'PhotoController');
    

    【讨论】:

    • 但是路线需要订购
    【解决方案2】:

    它与Laravel 没有具体关系。其实就是代码实践代码组织

    对于Restful crud方法以外的你自己的方法,我推荐按照Robert C. MartinUncle Bob)的方法来组织班级

    Clean Code(强烈推荐每个程序员阅读)一书中,Uncle Bob描述如下

    公共函数应遵循变量列表。我们喜欢把 公共函数调用的私有工具 公共功能本身。这遵循降级规则并有助于 程序读起来像报纸文章。

    【讨论】:

    • 感谢分享这个
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-11
    • 2022-01-01
    • 1970-01-01
    相关资源
    最近更新 更多