linux – 使用git和符号链接的基于组件的Web项目目录布局

前端之家收集整理的这篇文章主要介绍了linux – 使用git和符号链接的基于组件的Web项目目录布局前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在计划我的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中的子模块)
>一个主要项目,用于引用您需要的那些子模块的精确修订.

这是符号链接子模块的优点之一:您引用一个精确的修订版本,如果该组件有自己的一些演变,则不会立即看到它们(直到您更新子模块为止).
使用符号链接,您可以看到该链接另一端的文件集是什么状态.

原文链接:https://www.f2er.com/linux/441000.html

猜你在找的Linux相关文章