Компонентно-ориентированное расположение каталога веб-проекта с мерзавцем и символьными ссылками

Я планирую свою структуру каталогов linux/apache/php веб-проект как это:

Только www.example.com/webroot/ будет выставлен в апаче

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

component/ и lib/ каталог только будет в пути php.

Для создания CSS и js файлов видимыми в webroot каталоге, я планирую использовать символьные ссылки.

  webroot/
    index.php
    comp1/
      comp1.js (symlinked)
    comp2/
      comp2.css (symlinked)

Я попробовал после этих принципов:

  • расположение компонентами и библиотеками, не типом файла и не "общественностью' или 'не общедоступный', index.php является исключением. Это для более легкой разработки.
  • выставьте onle минимальный набор файлов в каталоге государственной сети и сделайте все остальное unaccesable к сети. Файлы Symlinking, которые должны быть общедоступными для компонентов и освобождают к общедоступному местоположению, но все еще зеркальному отражению расположения. Так компонент и структура библиотеки также видимо в получающемся HTML-коде в ссылках, которые могли бы помочь разработке.
  • использование мерзавца должно быть безопасным и всегда работать. было бы нормально выполнять некоторую процедуру для добавления символьной ссылки на мерзавца, но после того, как та проверка их или изменение ответвлений должны быть обработаны безопасно и чистые

Как мерзавец обработает symlinking единственных файлов правильно, есть ли что-то для рассмотрения?

Когда дело доходит до изображений мне будет нужно к каталогам ссылок, как обработать это с мерзавцем?

  component/
    comp3/
      comp3.class.php
      img/
        img1.jpg
        img2.jpg
        img3.jpg

Они должны быть связаны здесь:

  webroot/
    comp3/
      img/ (symlinked ?)

Если бы использование символьных ссылок для этого имеет недостатки, возможно, я мог бы переместить изображения в webroot/дерево непосредственно, которое повредило бы первый принцип для третьего (осуществимость мерзавца).

Таким образом, это - вопрос о символьной ссылке и мерзавец. Но мне было бы интересно слышать комментарии о php расположении, возможно, Вы хотите использовать функцию комментария для этого.

6
задан user89021 24 May 2010 в 13:36
поделиться

1 ответ

Как только вам понадобится повторно использовать некоторый набор файлов в другом месте, тогда вы должны начать думать в терминах компоненты или (в git) подмодули

Вместо управления webroot и comp и lib в одном репо (который является SVN или «Централизованный способ» для CVCS ), вы определяете:

  • n репозиториев, по одному на компонент, который необходимо повторно использовать (так что ' img ' будет репозиторий Git, повторно используемый в качестве подмодуля внутри webroot , например)
  • основного проекта для ссылки на точную ревизию тех подмодулей, которые вам нужны.

Это одно из преимуществ подмодулей символической ссылки: вы ссылаетесь на одну точную ревизию, и если у этого компонента есть свои собственные изменения, вы не видите их сразу (пока не обновите свой подмодуль в любом случае).
С помощью символической ссылки вы видите любое состояние, которое является набором файлов на другом конце этой ссылки.

2
ответ дан 17 December 2019 в 20:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: