CakePHP 2.0+ 的 Minify 插件

Minify 是一款应用程序,它可以合并多个 CSS 或 JavaScript 文件,删除不必要的空格和注释,并使用 gzip 编码和最佳的客户端缓存头提供它们。更多信息:https://code.google.com/p/minify 对于此插件,Minify 应用程序位于 Vendor 中。

安装

您可以将插件克隆到您的项目中(或者如果您想使用它作为 子模块)。

cd path/to/app/Plugin or /plugins
git clone https://github.com/maurymmarques/minify-cakephp.git Minify

在 app/Config/bootstrap.php 中引导插件。

CakePlugin::load(array('Minify' => array('routes' => true)));

配置

在您的 app/Config/core.php 中设置配置文件。

Configure::write('MinifyAsset', true);

如果您不想使用压缩,请设置 false。在 app/tmp/cache 中创建一个名为 “minify” 的文件夹,并授予其 读取写入 权限。

使用

使用 插件语法 启用助手。

class BakeriesController extends AppController {
    public $helpers = array('Minify.Minify');
}

此插件使用 HtmlHelper,并且工作方式几乎相同。在视图中,您可以使用类似以下内容

echo $this->Minify->css(array('default', 'global'));
echo $this->Minify->script(array('jquery', 'interface'));

观察

Minify 旨在提高效率,但是,对于流量非常大的网站,Minify 可能比您的 HTTPd 服务文件速度更慢,因为 PHP 的 CGI 开销。有关更多信息,请参阅 FAQCookBook。您可以使用 Google Chrome 或 Mozilla Firefox 的网络工具以及 FirebugYSlow 检查性能结果。

GitHub

欢迎您在 https://github.com/maurymmarques/minify-cakephp 上提出任何批评或建议。