2016-12-02 55 views
1

我的大多数控制器都遵循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者之一,如下载(),例如方法。在最佳实践中,您应该在哪里放置此非CRUD方法。我有时只是看到了它。

回答

1

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

例如,

Route::get('photo/download', '[email protected]'); 
Route::resource('photo', 'PhotoController'); 
+0

但是,订购是需要的路线 – Wistar

0

它与Laravel没有特别的关系。它实际上是代码练习代码组织

对于你自己比Restful crud法等方法,我建议遵循罗伯特C.马丁Bob大叔)如何组织的代码的方法。

在书中清洁守则的(强烈建议阅读每一个程序员),Bob大叔描述如下

公共职能应遵循的变量列表。我们喜欢把 公用函数调用的私有实用程序放在 公用函数本身之后。这遵循降低规则并帮助 程序阅读像报纸文章。

+0

感谢您分享此 – Wistar