You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中非ORM模型的处理:PlotOptions类的分类与存储位置

Laravel中非ORM纯数据模型的分类与目录规划

针对你提到的PlotOptions这类仅存储状态、无业务行为的非ORM模型,在Laravel里有几种清晰的分类和存储方案:

  • 创建app/Data或app/Values专用目录
    这类纯数据载体对象,最直观的方式是在app目录下新建Data或Values目录,将PlotOptions放在app/Data/PlotOptions.php,命名空间设为App\Data。这种方式明确区分ORM模型(app/Models)和纯数据对象,完全符合Laravel的PSR-4自动加载规则,也便于团队统一认知。

  • 归入app/Support目录
    如果这类数据是为全局业务提供辅助支撑的(比如通用下拉选单选项),可以放在app/Support目录下。这个目录原本就用于存放通用工具类、辅助结构,和业务逻辑耦合度低的纯数据对象非常适配。

  • 绑定业务模块存放
    若PlotOptions属于特定业务模块(比如和水电设施管理模块强相关),可以直接放在对应业务模块的目录中,比如app/Facilities/PlotOptions.php。这种方式让数据对象和所属业务逻辑紧密关联,后续维护时更易定位。

另外,针对这类纯数据对象,建议把类属性改为常量,调用起来更规范:

class PlotOptions {
    public const WATER = ["...", "...", "..."];
    public const GAS = ["...", "..."];
    public const ELECTRICITY = ["...", "...", "...", "..."];
    public const SEWER = ["...", "...", "..."];
}

内容的提问来源于stack exchange,提问作者Eugene Nail

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 07:42:39