JoseGonzalez/cakephp-gzip

此包已废弃且不再维护。未建议替代包。

自动gzip HTML输出的cakephp组件插件

安装量: 7,185

依赖: 0

建议者: 0

安全: 0

星标: 15

关注者: 3

分支: 3

开放问题: 0

类型:cakephp-plugin

dev-master 2015-11-29 11:22 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:30:53 UTC


README

Build Status Coverage Status Total Downloads Latest Stable Version Documentation Status Gratipay

gzip组件

使用gzip组件插件轻松gzip生产应用的HTML输出

背景

我试图根据YSlow的建议优化一些小站点,在debuggable.com上看到了一些代码,提到了gzip html输出。所以我将其封装成AppController中的一个方法,并在生产中使用。

对这个方法每次都要复制粘贴感到不满意,我将其重构为一个组件(哇,蛋糕PHP组件!),现在我又将其重构为一个插件。这是一次大量的重构。

此插件仅适用于HTML,因此YMMV。

安装

[使用Composer]

将插件添加到项目的composer.json文件中 - 例如:

{
    "require": {
        "josegonzalez/cakephp-gzip": "dev-master"
    }
}

由于此插件在其自己的composer.json中设置了类型cakephp-plugin,因此Composer知道将其安装到您的/Plugins目录中,而不是常规的vendors文件中。建议您将/Plugins/Upload添加到您的.gitignore文件中。(为什么?阅读此内容。)

[手动]

[GIT Submodule]

在您的应用目录中键入:

git submodule add git://github.com/josegonzalez/cakephp-gzip.git Plugin/Gzip
git submodule init
git submodule update

[GIT Clone]

在您的插件目录中键入:

git clone git://github.com/josegonzalez/cakephp-gzip.git Gzip

启用插件

在2.0版本中,您需要在app/Config/bootstrap.php文件中启用插件

	CakePlugin::load('Gzip');

如果您已经使用CakePlugin::loadAll();,则此步骤不是必需的。

用法

在控制器中包含组件(AppController或其他)

<?php
App::uses('Controller', 'Controller');
class AppController extends Controller {
    public $components = array('Gzip.Gzip');
}
?>

此时,理论上一切应该都可以正常工作。

注意

由于CakePHP的输出缓冲方式,此功能仅在调试小于2时才有效。

待办事项

  • gzip不仅仅是HTML
  • 其他可配置的压缩方法
  • 通过URL参数或秘密URL禁用压缩

许可证

版权所有(c)2010 Jose Diaz-Gonzalez

特此授予任何获得本软件及其相关文档文件(以下简称“软件”)副本的人免费使用该软件的权利,不受限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许获得软件的人这样做,但受以下条件约束

上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

软件按“现状”提供,不提供任何形式的明示或暗示保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论这些责任是基于合同、侵权或其他原因,无论这些责任是否与软件或其使用或其他方式有关。