【问题标题】:How to keep source and build folders in sync during debugging?如何在调试期间保持源和构建文件夹同步?
【发布时间】:2016-04-19 18:34:47
【问题描述】:

最近,更新了一个 PHP 项目以使用源文件夹和构建文件夹。在从 Git 存储库中提取“src”文件夹和项目配置文件后,我们使用 Gulp 将项目从“src”文件夹构建到“build”文件夹。

project_root
  |
  ├── src
  | 
  ├── build
  |
  └── {project configuration files}

前端和后端开发人员目前都在运行我们设置的“gulp watch”,以使我们的“src”和“build”文件夹保持同步。

我们遇到的最大烦恼之一是在浏览器中调试我们的项目时,我们经常打开报告错误的有问题的文件并修改代码直到它在浏览器中工作。但是,比我想数的次数还要多,我们在调试时对“build”文件夹中的一个文件进行了更改,然后我们必须手动在“src”文件夹中进行更改(一开始经常被忽略) .

有没有办法解决这个工作流程问题?

决斗观察者方法

我考虑过创建两个文件监视器来分别检测“build”和“src”文件夹中的更改。当任一手表检测到更改时,关闭其他文件夹观察程序,处理更改的文件并同步另一个文件夹,然后重新打开另一个文件夹的观察程序。

(这似乎是大锤的方法。)

IDE 方法

我们 PHPStorm 和 Sublime Text 3 取决于开发人员。在 Sublime Text 中,我只是从项目中排除了“build”文件夹,这样我就不会默认打开它。 (但是,我经常在调试 PHP 时不小心打开了 'build' 文件夹文件。)

其他

也许我们处理项目结构的一般方式需要工作。前端和后端开发通常是协同完成的。有什么建议吗?

【问题讨论】:

    标签: php debugging gulp workflow


    【解决方案1】:

    在发布此问题几个小时后,我疯狂地挥舞着手臂,我找到了自己问题的答案。

    事实证明,处理此问题的最佳方法是使用 IDE 方法并为您的项目创建路径映射:

    PHPStorm (documentation)

    • 设置 » PHP » 服务器
      • 检查“使用路径映射”选项。
      • 在我们的例子中,我们将'../src' 文件夹映射到'../build'

    带有“Xdebug Client”包的 Sublime Text

    • 首选项 » 软件包设置 » Xdebug » 设置 - 用户

      • 将以下内容添加到您的 Xdebug.sublime-settings 文件中:

      {
        "path_mapping": {
          "C:/wamp/www/your-project/build" : "C:/wamp/www/your-project/src"
        }
      }
      

    一旦设置了路径映射,您就可以在'../src' 文件夹中的 php 文件中成功设置断点,运行调试会话,'../build' 文件夹中的文件将在同一位置设置断点。

    【讨论】:

      猜你喜欢
      • 2012-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多