gpt4 book ai didi

php - 如何构建 MVC 应用程序 Composer 风格?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:38:32 24 4
gpt4 key购买 nike

我正处于制作 MVC 网络应用程序的早期阶段。我想尝试做 Composer 风格的事情。到目前为止,这是我的目录结构:

public_html
|-vendor
| |-MyVendorName
| | |-DomainObjectClass.php

这就是我存储领域对象的地方。

我也在尝试尽可能接近 this question 的答案中的 MVC

我有点卡住的地方是模型、 Controller 、 View 、服务、DataMappers 等的放置位置。我应该创建 MyVendorName 的子目录(例如 MyVendoreName/DomainObjects/DomainObjectClass.php 和 MyVendorName/Services/SomeServiceClass.php 等)还是创建一个与名为 classes 或 src 之类的供应商分开的目录并在那里做 MVC 的东西会更明智?

编辑: 每个人都在说 vendor 是针对第三方库的,我明白了。但是我编写域对象的方式与事物的 MVC 方面非常分离。事实上,他们甚至不知道自己是 MVC 应用程序的一部分。它们可以很容易地在其他项目中重用(我打算这样做)。所以把它放在 src/或 app/对我来说似乎不合逻辑

最佳答案

这是一个极具争议性的话题,没有一个正确答案。但是,我会给出以下提示:

  • vendor 目录用于第三方依赖,您不应该在其中编写自己的代码
  • 将您自己的代码放在 srclib 目录中,紧挨着 vendor 目录
  • 这些目录都不应该在公共(public) webroot 文件夹中; webroot 应该是一个单独的目录,只包含公共(public)文件,如 CSS 和 JS 文件,其他任何东西都在 webroot 之外
  • 在命名空间中构建类名
  • 命名空间遵循目录结构
  • 明确拥有 MyVendorName\ControllerMyVendorName\Model 等是有意义的
  • 尽可能深入地组织结构,例如MyVendorName\Model\DomainObjects\Foobar\Subclass 有意义

关于php - 如何构建 MVC 应用程序 Composer 风格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24145367/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com