Как использовать git с шаблоном MVC - PullRequest
0 голосов
/ 24 октября 2018

Как использовать git, когда у меня есть большое дерево папок в файловой структуре веб-проекта.Модуль, который я разрабатываю, разделен разными папками в этой файловой структуре.Как это принято в паттерне MVC.

В общей файловой структуре веб-проекта у меня есть, грубо говоря:

  • папка модели
  • папка контроллера
  • папка просмотров
  • языковая папка
  • и т. Д.

Я вносил изменения в файлы в этих папках и должен отслеживать изменения.Эти папки не объединены в одну папку, связанную с модулем, которую я разрабатываю.Эти папки разбросаны по разным частям файловой структуры.

Я мог бы создать git-репозиторий в корне файловой структуры и в .gitignore указать, какие папки отслеживать.Но я разрабатываю много модулей.И мне нужны отдельные репозитории git для них.

Где и как создавать репозитории git для разработки многих модулей с большой файловой структурой?

Если я запускаю git-репозиторий в корне веб-проекта, так ли это?Возможно ли создать много репозиториев в корне файловой структуры для каждого модуля и для каждого репозитория указать, какие папки должен отслеживать git?

1 Ответ

0 голосов
/ 24 октября 2018

Я думаю, что самое простое решение в наши дни - это хранить ваши независимые модули в отдельных репозиториях, а затем запрашивать их с помощью composer .

Я покажу вам некоторый теоретический пример этого.

У меня есть проект, который должен использовать модуль оплаты.Платежный модуль представляет собой отдельный репозиторий с файлом composer.json, предоставленным в корневом каталоге.

Например:

{
  "name": "company/payment-module",
  "description": "Module handling payments from our customers.",
  "autoload": {
    "psr-4": {
      "Company\\PaymentModule\\": "src/"
    }
  }
}

, который дает вам возможность использовать любой из модулей, созданных в любом приложении / проекте, который выбуду строить.Так, например, в вашем проекте вы можете потребовать платежный модуль в качестве зависимости.

{
  "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/ и будутавтоматически загружается в определяемые вами пространства имен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...