peterujah/ob-compress

Php class to compress output buffer in gzip.

1.7 2023-08-04 22:41 UTC

This package is auto-updated.

Last update: 2024-11-05 01:09:37 UTC


README

Php OBCompress, compresses the Output Buffer In Gzip

This class can compress the output buffer of a web page or web request.

It can start capturing the output buffer of the current HTTP request and compress using the gzip compression method or none based on specified options. The compressed output will be send with the necessary headers back to user browser and optimized. It can process the responses of requests and output data in JSON, HTML, or plain text format faster than regular request output.

Installation

Installation is super-easy via Composer:

composer require peterujah/ob-compress

To compress webpage output, see the below example code

<?php 
use Peterujah\NanoBlock\OBCompress;
OBCompress::start()
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Text OB Compress</title>
</head>
  <body>
    This will be compress and optimized
  </body>
</html>
<?php (new OBCompress())->end();

To retrieve data from server it can be done like below

use Peterujah\NanoBlock\OBCompress;
$response = array(
  "foo" => "Foo",
  "bar" => "Bar"
);
(new OBCompress())->json($response);

Available Response methods

Short Hand to compress data and return as json

$compress->json($data);

Short Hand to compress data and return as plain text

$compress->text($data);

Short Hand to compress data and return as html document

$compress->html($data);

Short Hand to compress data and return as specied content type

$compress->run($data, $contentType);

Strips and minify a webpage content, start output buffer on webpage, place at the beginning of a webpage

$compress->start();

Short Hand to get output buffer of a webpage and compress it then return as spacied data type

$compress->end($contentType);

Rrturns compressed output from passed data, sets the status code and data type

$compress->with($data, $statusCode, $contentType);

A function to strips and minify a webpage content, this can be passed to ob_start('OBCompress::minify');

$compress::minify($content);