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
相关产品推荐
相关产品推荐

