Я недавно написал пост, подробно описывающий настройку моей папки, которая основана на изолированной структуре 4 папок верхнего уровня:
/assets
/content
/resources
/vendor
Причиной этого является разделение интересов на основе 3 основных критериев.:
- какой тип контента?
- кто отвечает за контент?
- как часто контент будет обновляться?
Основной принцип отделяет сторонний код от кода проекта через / vendor и / assets .
Любой код, который должен быть наслоен между (например, темы,улучшения, обезьяны-патчи) должны идти в / assets / vendor .
Поэтому ваша иерархия настройки:
- / vendor
- assets / vendor
- / assets / [тип ресурса]
Это не решит ваши вопросы о способе загрузки активов, но обеспечит структуруо том, как вы управляете своими активами.
Подробнее и примеры здесь: http://www.davestewart.co.uk/blog/project-structuring/