Php 小型团队的开发设置:处理资产
我们是一个在局域网中开发PHP应用程序的小团队。在Mac和PC上 单个开发人员将源代码签出并编辑到自己的机器上,Apache正在该机器上运行。然后通过Php 小型团队的开发设置:处理资产,php,apache,development-environment,Php,Apache,Development Environment,我们是一个在局域网中开发PHP应用程序的小团队。在Mac和PC上 单个开发人员将源代码签出并编辑到自己的机器上,Apache正在该机器上运行。然后通过localhost完成本地测试 对于DB,应用程序连接到局域网中专用机器上的公共MySQL安装。这非常有效,因为我们很少对DB模式进行(破坏性的)更改。这意味着运行的所有单个应用程序都访问相同的测试数据 但是上传的文件仍然是一个问题:它们只上传到开发人员的本地机器上,尽管对它们的引用存储在中央数据库中。这意味着其他团队成员可能会看到用户上传图像的断
localhost
完成本地测试
对于DB,应用程序连接到局域网中专用机器上的公共MySQL安装。这非常有效,因为我们很少对DB模式进行(破坏性的)更改。这意味着运行的所有单个应用程序都访问相同的测试数据
但是上传的文件仍然是一个问题:它们只上传到开发人员的本地机器上,尽管对它们的引用存储在中央数据库中。这意味着其他团队成员可能会看到用户上传图像的断开链接,该图像实际上只存在于一台devs本地计算机上
理想的解决方案是将整个持久层放在中央机器上。关于如何最好地实现这一点,您有什么想法吗?映射网络文件夹或使用dropbox或类似服务。本地数据库很好,不会占用太多资源。映射网络文件夹或使用dropbox或类似服务。不过,本地数据库很好,不会占用太多资源。基本上,您需要某种类型的共享文件系统。有很多选择:samba共享、NFS挂载目录、Dropbox(或类似的服务)等等。我建议查看可用的选项,看看什么最适合您的基础架构。基本上您需要某种类型的共享文件系统。有很多选择:samba共享、NFS挂载目录、Dropbox(或类似服务)等等。我建议查看可用的选项,看看哪些最适合您的基础架构。我曾经处理过这一问题,我所做的是将我们的NAS用作所有内容的存储。我们通过FTP在NAS本身上开发了我们的网站。就像云开发一样,IDE只在我们这边,我们编辑的每个文件、上传的图像等等都在NAS上。该网站本身也在NAS上运行(因为NAS具有服务器和mySQL的功能) NAS已从网络存储转变为实际的本地服务器
根据我对你问题的理解,我认为你只需要共享上传的资源(如图片),而不是一次在同一个应用程序中开发 首先,我建议你根本不要在生产机器上开发 现在,您可以通过以下两种方式实现: 模块化开发: 你独立发展。你们不能碰对方的密码。您可以分别开发功能。那样的话,你们就不会互相妨碍了。这也促进了“松散耦合”,用勒曼的话来说,“当一个功能中断时,另一个不会” 您应该了解如何将开发分解为“模块”。虽然这是在JS中实现的,但是架构仍然可以应用 版本控制开发 将您的开发分为3层:
- 生产(又名稳定)是公开的代码。您不需要在这里开发或触摸代码。只有在对代码进行彻底测试后,才能发布代码。此外,这不是公共服务器。这只是公共代码。然而,这里居住的是公共站点的实际副本
- 测试(又称Beta版)是测试开发代码的地方。该系统仅用于测试目的。你也不要碰这里的密码。你来这里只是为了自己找虫子。这是你的“质量保证层”。这一层也是代码合并的地方(稍后讨论)
- 开发(又称Alpha)是您接触代码的地方。在这里,您可以共享代码、测试代码、破解代码、尝试新功能以及修复测试中发现的错误
至于资源,您不希望由于来自公共服务器的资源而使本地开发系统陷入困境。版本控制系统还具有“忽略列表”,以防止您克隆某些资源。只克隆必要的东西。如果您正在开发一个天气小部件,您只需要天气小部件的图像。您不需要来自其他小部件的图像(除非必要)我曾经处理过这一问题,我所做的是使用我们的NAS作为所有内容的存储。我们通过FTP在NAS本身上开发了我们的网站。就像云开发一样,IDE只在我们这边,我们编辑的每个文件、上传的图像等等都在NAS上。该网站本身也在NAS上运行(因为NAS具有服务器和mySQL的功能) NAS已从网络存储转变为实际的本地服务器
根据我对你问题的理解,我认为你