わかりにくいタイトルで申し訳ありませんが、これにタイトルを付けるかどうかはわかりませんでした:-)
サーバー上のディレクトリから必要な JavaScript ライブラリをロードする API を作成しました。ディレクトリには特定の形式があります。唯一異なるのは、各ライブラリのディレクトリ内のファイル名の形式です。
ディレクトリ形式
_js/_source/_library_name_here/ファイル名_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'
);
潜在的な代替案
この API は$js_libraries
、「_source」ディレクトリをスキャンしてそのように配列に入力することで配列が自動的に構築された場合、より動的になります。私は(テストされていない、単なる例です!)のようなものでこれを行います:
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 ページに返すため、ページの開始が遅れるため、遅延が発生することはありません。私が知りたいのは、このディレクトリに多くのライブラリがある場合、自動メソッドが遅くなるということですか? ハードコーディングされた配列に固執する必要がありますか?