Laravel控制器和模型结构


Laravel controllers and models structure

基本上,我有一个我正在计划的项目。一种"社交网络"。我只是想知道,就目前而言,我有一个单一的控制器(ProfilesController),它负责状态更新,个人资料编辑,图库上传/查看,设置等。

这是一个好的结构吗?或者我应该把它分成不同的控制器(ProfilesController, GalleryController, SettingsController, GuestbookController)?

和我的模型,我目前有留言簿,照片相册,个人资料和用户模型。这样好吗?或者应该将其中一些合并到用户或配置文件中?

我认为要保持REST尽可能完整,您应该为单独的模型设置单独的控制器。你的模型绝对应该是它们自己的文件/类。

1。遵循"单一职责"原则,您可以为每个流程创建一个控制器。

2。 Laravel数据库的每个表(你在项目中使用的)必须有一个模型。

3。如果你想做好事情,我建议你遵循"API优先"的原则:先设计API的结构,然后开始编程。这样做之后,最近开始使用您的API开发接口和流程。

我将继续使用REST并真正为每个表创建一个模型和一个控制器。因此,您可以以一种非常简洁的方式开发应用程序。

如果你的"社交网络"或任何你想开发的应用程序将变得更大更复杂,这是保持它的干净和清晰的表现的最好方法。

一旦我开始一个小项目,并没有真正关心遵循这一原则,但你会后悔的。

因此,用一个干净的结构开始你的项目,并为每个模型创建一个控制器。我还建议使用Route::资源来定义基本路由。所以你要遵守所有的约定。
Route::resource('Model', 'ModelController');

更多信息,请查看文档