最近,更新了一个PHP项目,使其使用源文件夹和构建文件夹。在从我们的Git repo中提取"src"文件夹和项目配置文件后,我们使用Gulp将项目从"src"文件构建到"build"文件夹。
project_root
|
├── src
|
├── build
|
└── {project configuration files}
前端和后端开发人员目前都在运行我们设置的"gulp watch",以保持"src"answers"build"文件夹同步。
我们遇到的最大烦恼之一是,在浏览器中调试项目时,我们经常打开报告错误的有问题的文件,并对代码进行修补,直到它在浏览器中工作。然而,我们在调试时对"build"文件夹中的文件进行了更改,然后不得不在"src"文件夹中手动进行更改(一开始经常被忽略),这比我想统计的次数还要多。
有什么方法可以解决这个工作流问题吗?
决斗守望者方法
我想做两个文件查看器,分别检测"build"answers"src"文件夹中的更改。当任一监视检测到更改时,关闭其他文件夹监视程序,处理更改的文件并同步其他文件夹,然后重新打开其他文件夹的监视程序。
(这似乎是大锤式的方法。)
IDE方法
我们PHPStorm和Sublime Text 3取决于开发者。在Sublime Text中,我只是将"build"文件夹从项目中排除,这样我就不会在默认情况下意外打开它。(然而,在调试PHP时,我不小心打开了"构建"文件夹文件。)
其他
也许我们处理项目结构的方式通常需要工作。前端和后端开发通常是协同进行的。有什么建议吗?
在发布这篇文章后,我对这个问题疯狂地挥舞了几个小时,找到了自己问题的答案。
事实证明,处理这一问题的最佳方法是使用IDE方法并为您的项目创建路径映射:
PHPStorm(文档)
- 设置»PHP»服务器
- 请检查"使用路径映射"选项
- 在我们的案例中,我们将
'../src'
文件夹映射到'../build'
Sublime Text与"Xdebug客户端"软件包
-
首选项»软件包设置»Xdebug»设置-用户
- 将以下内容添加到Xdebug.sublime-settings文件中:
{ "path_mapping": { "C:/wamp/www/your-project/build" : "C:/wamp/www/your-project/src" } }
一旦设置了路径映射,就可以在'../src'
文件夹中的php文件中成功设置断点。运行调试会话,'../build'
文件夹中的文件将在同一位置断点。