Написах малък framework за управление на множества от файлове (скриптови), които съдържат зависимости един към друг.
Примери:
- CSS файлове, които трябва да се заредят в определен ред, поради промяната на стиловете;
- JS файлове, които трябва да се заредят в определен ред, поради зависимости между тях;
и т.н.
Идеята ми е да използвам PhpDoc анотации -
GeSHi (PHP):
/**
*
* @annoloader-requires-file 1.js
* @annoloader-requires-file 2.js
*
* @annoloader-requires-class Ext.Namespace.Class1
* @annoloader-requires-class Ext.Namespace.Class2
*
* @annoloader-requires-namespace Ext.Namespace
*
* @annoloader-requires-directory ex/grid
*
* @annoloader-requires-directory-tree ex/data
*
*/
във всеки един от файловете, който е зависим от други файлове. Така зависимостта се капсулира като знание само във файла, който реално е зависим.
Имам малко проблеми с "нареждането" на "равноправни" файлове, но мисля, че beta версията си заслужава
Код:
http://code.google.com/p/annoloader/source/browse/trunk/AnnoLoader/Приемам всякаква критика и предложения.
Приложил съм и PhpUnit Test файловете.