我正在计划我的linux / apache / PHP web项目的目录结构,如下所示:
只有www.example.com/webroot/才会在apache中公开
www.example.com/ webroot/ index.PHP comp1/ comp2/ component/ comp1/ comp1.class.PHP comp1.Js comp2/ comp2.class.PHP comp2.CSS lib/ lib1/ lib1.class.PHP
组件/和lib /目录只能在PHP路径中.
为了使webroot目录中的CSS和Js文件可见,我计划使用符号链接.
webroot/ index.PHP comp1/ comp1.Js (symlinked) comp2/ comp2.CSS (symlinked)
我尝试遵循以下原则:
>按组件和库布局,而不是按文件类型而不是“public”或“non public”,index.PHP是一个例外.这是为了更容易开发.
>公开onle公共Web目录中的最小文件集,并使其他所有内容无法访问Web.将组件和库需要公开的文件符号化到公共位置,但仍然镜像布局.因此,组件和库结构也可以在链接中生成的HTML代码中看到,这可能有助于开发.
> git的使用应该是安全的并且始终有效.可以按照一些程序将符号链接添加到git中,但是在检查完它们之后,应该安全地处理更改分支.
git如何正确处理单个文件的符号链接,有什么需要考虑的吗?
说到图像,我需要链接目录,如何用git处理?
component/ comp3/ comp3.class.PHP img/ img1.jpg img2.jpg img3.jpg
它们应该链接在这里:
webroot/ comp3/ img/ (symlinked ?)
如果使用符号链接有缺点,我可以直接将图像移动到webroot / tree,这将打破第三个原则(git实用性).
所以这是一个git和符号链接问题.但我有兴趣听听有关PHP布局的评论,也许你想使用评论功能.
最佳答案一旦你需要在其他地方重用一些文件,就应该开始考虑components或(在git中)submodules您可以定义:而不是在同一个仓库(SVN或“Centralized way” for CVCS)中管理webroot,comp和lib,
> n repos,每个组件需要重用一次(例如’img’将是一个Git repo,重新用作webroot中的子模块)
>一个主要项目,用于引用您需要的那些子模块的精确修订.
这是符号链接子模块的优点之一:您引用一个精确的修订版本,如果该组件有自己的一些演变,则不会立即看到它们(直到您更新子模块为止).
使用符号链接,您可以看到该链接另一端的文件集是什么状态. 总结
以上是内存溢出为你收集整理的linux – 使用git和符号链接的基于组件的Web项目目录布局全部内容,希望文章能够帮你解决linux – 使用git和符号链接的基于组件的Web项目目录布局所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)