0

由于安全原因,我必须将一个项目拆分为多个部门(客户端、管理员、...),并将它们部署到不同的 Web 服务器。这些部门有一个共同的脚本库,但每个部门都有自己的功能。作为 IDE,我使用 PhpStorm。

问题:组织项目结构和设置的最佳方式是什么,因此公共核心部分对于所有项目部门中的 IDE 索引都是可见的,但同时由单个项目(可能是独立项目)维护?

在 Java 中,您可以创建 lib jar 文件以进一步链接各种项目。但是如何在 PHP 中完成呢?

4

1 回答 1

1

有多种方法可以在项目中引用额外的 PHP 代码。

如果您计划在同一个项目中主动编辑此类额外代码(并希望查看其 TODO、代码检查警告、在代码重构中包含引用等):

  • 您可以将其添加为附加的 Content Root: Settings/Preferences | Directories。以这种方式添加的文件夹将被视为项目本身的一部分,并将在项目视图面板中显示为一个单独的节点(就像主代码一样,它也是一个内容根)。

  • 或者您可以在第一个项目已经打开时打开第二个项目,当被问到时,只需选择“附加”:

    在此处输入图像描述

    它不会在一帧中包含完整的 2 个项目,更像是在附加 Content Root 和在单独的帧中打开 2 个项目之间的东西。

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

  • 简单的符号链接也可以完成这项工作(但您需要将它放在项目中的某个位置,例如PROJECT_ROOT/libs/my_symlinked_code)。然后,您需要为调试器提供该文件夹的路径映射(如果您当然会调试它),因为 PHP/Xdebug 使用“最终/解析路径”,而 IDE 使用路径原样。

如果您不需要在同一窗口中主动编辑该额外代码(并忽略任何 TODO、代码检查警告和其他检查结果等):

  • 那么它作为一个作曲家包呢?Composer 可以使用自定义源(例如 GitHub 存储库或本地文件系统上的文件夹)。

  • 只需将该文件夹的路径作为“包含路径”添加到Settings/Preferences | Languages & Frameworks | PHP --> Include Path tab. 以这种方式引用的代码适用于第 3 方库(您只使用但未编辑的代码,例如框架代码、您的发送邮件/ORM 库等)。默认情况下,Composer 包也将包含在此处。

    在此处输入图像描述

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

于 2020-07-10T09:49:41.583 回答