php - 如何将 git 与 MVC 模式一起使用
问题描述
当我在 web 项目的文件结构中有大量文件夹树时,如何使用 git。我开发的模块在此文件结构中由不同的文件夹分隔。正如 MVC 模式所关注的那样。
在我的 web-project 的整体文件结构中,粗略地说:
- 模型文件夹
- 控制器文件夹
- 视图文件夹
- 语言文件夹
- 等等
我对此文件夹中的文件进行了更改,并且需要跟踪更改。这些文件夹没有组合在一个与我开发的模块相关联的文件夹中。这些文件夹分散在文件结构的不同部分。
我可以在文件结构的根目录创建 git 存储库,并.gitignore
指定跟踪哪些文件夹。但是我开发了很多模块。而且我需要为它们提供单独的 git 存储库。
在哪里以及如何创建 git 存储库以开发大文件结构中的许多模块?
如果我在 web-project 的根目录初始化 git 存储库,是否可以在每个模块的文件结构的根目录创建许多存储库,并为每个存储库指定 git 应该跟踪的文件夹?
解决方案
我认为现在最简单的解决方案是将您的独立模块保存在单独的存储库中,然后使用composer请求它们。
我将向您展示它的一些理论示例。
我有项目,应该使用支付模块。支付模块是一个单独的存储库,composer.json
文件在根目录中提供。
例如:
{
"name": "company/payment-module",
"description": "Module handling payments from our customers.",
"autoload": {
"psr-4": {
"Company\\PaymentModule\\": "src/"
}
}
}
这使您可以使用在您将构建的任何应用程序/项目中创建的任何模块。因此,例如在您的项目中,您可以要求 Payment Module 作为依赖项。
{
"name": "company/shop",
"type": "project",
"description": "The main repository of our shop.",
"autoload": {
"psr-4": {
"": "src/"
}
},
"repositories": [
{
"type": "git",
"url": "https://github.com/company/payment-module"
}
],
"require": {
"company/payment-module": "dev-master"
}
}
当您在项目中定义所需的模块并使用 composer 安装它们时,它们将位于vendor/
目录下,并将自动加载到您定义的命名空间中。
推荐阅读
- php - 使用正则表达式删除自定义字段内的标题标签
- python - 无法跳出while循环
- javascript - 如何将值从一个 Jasmine JavaScript 测试传递到另一个测试
- haskell - Haskell - 从列表中生成人员列表
- javascript - Javascript中性别的动态对象值
- java - 用于 Java 的构建工具
- google-apps-script - 根据对同一行中另一个特定单元格的任何更改来编辑特定单元格
- reactjs - 调度未调用 Thunk Action - 使用 Typescript
- node.js - 如何找到 MongoDB 4.2 中存在的集合?使用 Node.JS
- javascript - text ® 在 html 页面中呈现为 ®