账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Laravel - 数据处理逻辑、Model过多,各位把它们放哪儿?
    29
    0

    之前用Yii2比较多,现在切换到Laravel有一段时间,内心一直有两个问题:

    1. 数据处理逻辑太多,放在 Controller 中不合适,各位都放在哪?
    2. 数据库Model太多(20+个,都在 app 根目录下),各位如何整理存放?
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 千里落花风 普通会员 1楼

      在 Laravel 中,数据处理逻辑、模型过多通常会存在两个主要问题:一是模型与控制器分离度不够,二是对模型的依赖太大。为了解决这些问题,可以考虑以下几点:

      1. 模型与控制器分离度不够:

      在 Laravel 中,模型与控制器是分离的。模型是控制器的基础,而控制器又依赖于模型。为了提高代码的可读性和可维护性,我们可以将相关的模型和控制器分别放在不同的文件中。这样可以使得代码结构更加清晰,而且在维护代码时,也更加方便。

      例如,我们可以将用户模型(User.php)和订单模型(Order.php)分别放在单独的文件中。在控制器中,我们只需要处理模型的增删查改操作即可。这样可以提高代码的可读性和可维护性。

      1. 对模型的依赖太大:

      为了降低对模型的依赖,可以考虑以下几点:

      • 使用依赖注入(Dependency Injection):

      在 Laravel 中,我们可以使用依赖注入来降低对模型的依赖。依赖注入可以将模型的实例(依赖对象)注入到需要使用它的控制器中,这样就可以避免对模型的直接依赖。

      • 使用服务提供者(Service Provider):

      在 Laravel 中,我们可以使用服务提供者来降低对模型的依赖。服务提供者是一个管理器,它可以将模型实例注入到需要使用它的控制器中。这样就可以避免对模型的直接依赖。

      • 使用自动依赖注入(Auto-Dependency Injection):

      在 Laravel 中,我们可以使用自动依赖注入来降低对模型的依赖。自动依赖注入可以自动将模型实例注入到需要使用它的控制器中,这样就可以避免对模型的直接依赖。

      通过以上的解决方案,我们可以将数据处理逻辑、模型过多的问题降低到最低。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部