Tôi đang lên kế hoạch cấu trúc thư mục của tôi cho một Linux/apache/dự án web php như thế này:Component dựa dự án web bố trí thư mục với git và symlink
Chỉ www.example.com/webroot/
sẽ được tiếp xúc trong 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
sự Thư mục component/
và lib/
sẽ chỉ nằm trong đường dẫn php.
Để hiển thị các tệp css và js trong thư mục webroot, tôi dự định sử dụng các liên kết tượng trưng.
webroot/
index.php
comp1/
comp1.js (symlinked)
comp2/
comp2.css (symlinked)
tôi đã cố gắng làm theo các nguyên tắc:
- bố trí bởi các thành phần và các thư viện, không phải theo loại tập tin và không phải bởi "công cộng' hoặc 'phi công', index.php là một ngoại lệ này là.
- phơi bày tập hợp các tập tin tối thiểu trong một thư mục web công cộng và làm cho mọi thứ khác không thể truy cập được trên web. Vì vậy, cấu trúc thành phần và thư viện cũng hiển thị trong mã html kết quả trong các liên kết , có thể giúp phát triển.
- sử dụng git phải an toàn và luôn hoạt động. nó sẽ là ok để làm theo một số thủ tục để thêm một liên kết để git, nhưng sau đó kiểm tra chúng ra hoặc thay đổi các chi nhánh nên được xử lý một cách an toàn và sạch sẽ
Làm thế nào git xử lý các liên kết symlinking của các tập tin duy nhất một cách chính xác, có một cái gì đó để xem xét?
Khi nói đến hình ảnh, tôi sẽ cần liên kết các thư mục, cách xử lý bằng git?
component/
comp3/
comp3.class.php
img/
img1.jpg
img2.jpg
img3.jpg
Họ nên được liên kết ở đây:
webroot/
comp3/
img/ (symlinked ?)
Nếu sử dụng liên kết tượng trưng cho điều đó có nhược điểm có lẽ tôi có thể di chuyển hình ảnh vào webroot/cây trực tiếp, trong đó sẽ phá vỡ các nguyên tắc đầu tiên cho ba (git thực tế).
Vì vậy, đây là câu hỏi về git và symlink. Nhưng tôi muốn được nghe ý kiến về cách bố trí php, có thể bạn muốn sử dụng chức năng bình luận cho việc này.
Cảm ơn bạn đã chỉ ra điều này. Tôi đã không nghĩ đến việc nhìn thấy các thành phần như các dự án riêng biệt. Tôi sẽ suy nghĩ về việc tách các thành phần ở một điểm sau, nhưng bây giờ tôi sẽ giữ chúng lại với nhau trong một kho lưu trữ, giúp tôi giữ nó đơn giản - karlthorwald - aka – user89021
Tôi không chắc chắn nhưng giải pháp này không tính đến lý do cho việc liên kết tượng trưng là giữ hầu như tất cả các tệp trong một thư mục không công khai chưa được phơi sáng? Tôi sẽ làm cho câu hỏi rõ ràng hơn bây giờ. - karlthorwald - aka – user89021
@ user89021: không có vấn đề gì: bạn có thể kết hợp các mô-đun con với sylink (symlink thành submodule!). Điều quan trọng cần lưu ý ở đây là Git không có nghĩa là chứa tất cả mọi thứ trong * một * repo: http://stackoverflow.com/questions/984707/what-are-the-git-limits/984973#984973 – VonC