前端資源優化的核心痛點:多文件合併減少 HTTP 請求、壓縮減小傳輸體積、開發環境與線上環境無縫切換。SuMinify_PHP_1_5 是一個零依賴、單文件綠色版 PHP 程式,透過配置陣列即可實現上述所有需求。
phpinfo.php 一樣放入專案即用,無 Composer、無擴展依賴。.min.js)skips)replaces,如路徑前綴調整)minify => false,針對已壓縮庫).min. 文件,防止重複壓縮。$config = [
'soui_v3a' => 'path/to/soui_v3a_config.php', // 外部配置文件
'soui_v3b' => [
'js' => [
'in-place-minify' => [
'F:/project/js/lib/superfish.js', // 就地生成 superfish.min.js
['path' => 'F:/project/js/pages/*', // 整個目錄就地壓縮
'skips' => ['F:/project/js/pages/skip1.js', // 排除文件
'F:/project/js/pages/skip2.js']],
],
'F:/project/js/min/vendor.min.js' => [
['path' => 'F:/project/js/vendor/jquery.min.js', 'minify' => false], // 不壓縮直接合併
'F:/project/js/vendor/plugin.js', // 壓縮後合併
],
'F:/project/js/min/app.min.js' => [
['path' => 'F:/project/js/app/*'], // 目錄所有文件壓縮合併
'F:/project/js/core.js', // 單文件壓縮合併
],
],
'css' => [
'in-place-minify' => ['F:/project/css/pages/*'],
'F:/project/css/min/ui.min.css' => [
'F:/project/css/ui.css',
['path' => 'F:/project/css/icons.css',
'replaces' => ["'icons/" => "'../Icons/"]], // 內容替換後合併
],
],
],
];
SuMinify_PHP_1_5.php 複製到專案任意目錄。$config 陣列為專案實際路徑與規則。php SuMinify_PHP_1_5.php.min.js/.min.css 文件。
| 工具 | 部署複雜度 | 配置靈活度 | 適用階段 |
|---|---|---|---|
| SuMinify_PHP | 極低(單文件) | 高(PHP 陣列配置) | 中小專案、快速原型、無 Node 環境 |
| Webpack/Gulp | 高(Node、package.json、配置文件) | 極高(程式化控制) | 大型專案、團隊協作、持續集成 |
| 線上壓縮網站 | 零部署 | 低(手工複製貼上) | 臨時測試、單文件處理 |
SuMinify_PHP 填補了「無建構環境」與「需要自動化壓縮合併」之間的空白,是 PHP 專案前端資源優化的輕量級利器。