PhpStorm: несколько проектов с общим ядром - PullRequest
0 голосов
/ 09 июля 2020

По соображениям безопасности я должен разделить один проект на подразделения (клиент, администратор, ...) и развернуть их на разных веб-серверах. Эти подразделения имеют одну общую базу сценариев, но у каждого подразделения свои функции. В качестве IDE я использую PhpStorm.

Вопрос: как лучше всего организовать структуру и настройки проекта, чтобы общая основная часть была видна для индексации IDE во всех подразделениях проекта, но в то же время, поддерживается из одного проекта (возможно, автономного)?

В Java вы можете создавать файлы jar библиотеки для дальнейшего связывания в различных проектах. Но как это сделать в PHP?

1 Ответ

1 голос
/ 10 июля 2020

Существует несколько способов ссылки на дополнительный код PHP в проекте.

Если вы планируете активно редактировать такой дополнительный код в том же проекте (и хотите увидеть их TODO, предупреждения проверки кода, включают ссылки на рефакторинг кода и т. д. c):

  • Вы можете просто добавить его как дополнительный контент Root: Settings/Preferences | Directories. Добавленная таким образом папка будет рассматриваться как часть самого проекта и будет отображаться как отдельный узел на панели Project View (как и основной код, который также является Content Root).

  • Или вы можете открыть 2-й проект, пока 1-й уже открыт, и когда вас спросят, просто выберите «Прикрепить»:

    enter image description here

    It's not going to be full 2 projects in one frame, more like something in between attaching Content Root and having 2 projects opened in separate frames.

    https://www.jetbrains.com/help/phpstorm/opening-multiple-projects.html

  • Простая символическая ссылка также выполнит эту работу (но вам нужно разместить ее где-нибудь в проекте, например, PROJECT_ROOT/libs/my_symlinked_code). Затем вам нужно будет предоставить отображение пути для этой папки для отладчика (если вы, конечно, будете отлаживать его), поскольку PHP / Xdebug работает с «окончательным / разрешенным путем», в то время как IDE работает с путем как есть.

Если вам не нужно активно редактировать этот дополнительный код в том же окне (и игнорировать любые TODO, предупреждения проверки кода и другие результаты проверки и т. Д. c):

  • Тогда делать это как пакет composer? Composer может использовать пользовательские источники (например, репозиторий GitHub или папку в локальной файловой системе).

  • Просто добавьте путь к этой папке как «Включить путь» в Settings/Preferences | Languages & Frameworks | PHP --> Include Path tab. Код, на который ссылаются таким образом, предназначен для сторонних библиотек (код, который вы просто используете, но не редактируете, например, код фреймворка, ваша библиотека отправки почты / ORM и т. Д. c). Composer пакеты также будут включены сюда по умолчанию.

    enter image description here

    https://www.jetbrains.com/help/phpstorm/php.html#include -path-tab

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