抱歉标题不详,不知道给这个标题取什么:-)
我编写了一个 API,它从我的服务器上的目录加载所需的 javascript 库。目录具有特定的格式,唯一不同的是每个库目录中的文件名格式。
目录格式
_js/_source/_library_name_here/file_name_here.js
例如
/_js/_source/_fancybox/jQuery.lightbox-0.5.js
数组(当前是硬编码的)
目前,我将单独的库存储在一个数组(硬编码)中,如下所示:
$js_libraries = array(
'fancybox' => '/_js/_source/_fancybox/jQuery.lightbox-0.5.js',
'something_else' => '/_js/_source/_something_else/jQuery.something.js'
);
潜在的替代品
$js_libraries
如果数组是通过扫描“_source”目录并像这样填充数组而自动构建的,那么这个 API 将会更加动态。我会这样做(未经测试,只是一个例子!):
function gather_files($directory){
$files_and_folders = scandir($directory);
foreach($files_and_folders as $value){
if($value != '.' && $value != '..'){
if(is_dir($directory.'/'.$value)){
listFolderFiles($dir.'/'.$ff);
}
}
}
}
$js_libraries = gather_files(dirname(__FILE__));
以上没有完成,只是想演示一下我的意思是根据目录的内容自动构建数组
我的问题
很简单,这个 API 的关键是速度,因为它将打包/缩小(通过 PHP 即时)的 javascript 文件返回到 HTML 页面,因此不会有任何延迟,因为这会延迟页面的启动。我想知道的是,当这个目录中有很多库时,自动方法会明显变慢吗?我应该坚持使用硬编码数组吗?