PhpStorm:具有共同核心的多个项目

PhpStorm:具有共同核心的多个项目,phpstorm,web-deployment,Phpstorm,Web Deployment,由于安全原因,我必须将一个项目拆分为多个部门(客户端、管理员等),并将它们部署到不同的web服务器。这些部门有一个共同的脚本库,但每个部门都有自己的功能。作为一个IDE,我使用PhpStorm 问题是:组织项目结构和设置的最佳方式是什么,这样公共核心部分将在所有项目部门的IDE索引中可见,但同时从单个项目(可能是独立的)进行维护 在Java中,您可以创建lib-jar文件,以便在各种项目中进一步链接。 但是如何在PHP中实现呢?有多种方法可以在项目中引用额外的PHP代码 如果您计划在同一项目中积

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

问题是:组织项目结构和设置的最佳方式是什么,这样公共核心部分将在所有项目部门的IDE索引中可见,但同时从单个项目(可能是独立的)进行维护

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

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

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

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

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

    它不会在一个框架中包含完整的两个项目,更像是在附加内容根目录和在单独的框架中打开两个项目之间

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

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

  • 那么,作为一个作曲家软件包来做吗?Composer可以使用自定义源(例如GitHub repo或本地文件系统上的文件夹)

  • 只需在
    Settings/Preferences | Languages&Frameworks | PHP-->包含路径选项卡
    中将该路径作为“包含路径”添加到该文件夹中即可。以这种方式引用的代码适用于第三方库(您只使用但不编辑的代码,例如框架代码、您的send mail/ORM库等)。默认情况下,这里还将包括Composer包


如果您计划对其进行编辑:您可以将其作为一个附加的内容根目录进行编辑,它将在项目视图中显示为一个单独的节点(除了实际的项目代码)。如果没有计划编辑:您可以将其添加为“Include Path”条目(主要用于PHP代码)。这里也可以选择P.S.符号链接。PHP代码也可以作为单独的编写器包(自定义repo/源代码)包含。@LazyOne谢谢!我认为,增加根目录是最好的方法。