這是一套筆者最近開發的 asset framework。
這是個獨立的 asset 管理工具,不需要安裝或使用 symfony 或 zend 之類的 fullstack web framework 就可以直接使用,可以很容易的嵌入在你自己開發的 application,也可以直接嵌入在你 single page php application 裡。
如果只想要靜態檔案,不需要動態呼叫,也可以利用 command-line 的 compile 命令,先把所有檔案編譯起來。
這有點類似 requirejs, 但 requirejs 沒辦法跟 php 模組整合, 這個工具是可以讓你的 php 模組都可以有自己的 assets,然後可以把不同模組底下的 assets 統合編譯壓縮起來成不同的檔案,來加速 client 端下載靜態檔案的速度。
以往,要在 PHP Application 內組織好 asset files 如 js, coffee-script 實在是件難事,因為每個框架的架構都不相同,要用 requirejs 也會有存取路徑的問題需要處理。
使用 AssetToolkit 的話,你可以將 assets 至於任何地方,只需要透過單一集中式的設定檔,就可以動態將所需要的 asset 載入。
舉例來說,我有一個 web application MyBlog:
apps/MyBlog
底下可以放置一些 assets,分別是:
apps/MyBlog/assets/jquery
apps/MyBlog/assets/jquery-ui
現在我另外寫了 plugin:
plugins/Post/assets/post-assets # 專為 Post 寫的 js 跟 css
plugins/News/assets/news-asset-a
plugins/News/assets/news-asset-b
各位知道,既然設計成 plugin ,那就是可以
此外,AssetToolkit 做的不只是載入,還可以幫你透過 CoffeeScript filter, SASS filter, SCSS filter 等等,自動幫你編譯轉換並且壓縮。



