Download the PHP package ctw/ctw-middleware without Composer

On this page you can find all versions of the php package ctw/ctw-middleware. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package ctw-middleware

Package "ctw/ctw-middleware"

Latest Stable Version GitHub Actions

Abstract base class providing shared functionality for the ctw/ctw-middleware-* PSR-15 middleware packages.

Introduction

Why This Library Exists

Modern PHP applications built on frameworks like Mezzio leverage PSR-15 middleware for request/response processing. When building multiple middleware components that share common functionality, duplicating code across packages leads to maintenance burden and inconsistencies.

This library provides a centralized AbstractMiddleware base class that:

Problems This Library Solves

  1. Code duplication: Without a shared base, each middleware would implement its own HTML detection and statistics logic
  2. Inconsistent behavior: Different implementations of content-type checking could lead to subtle bugs
  3. Maintenance overhead: Bug fixes or improvements would need to be replicated across multiple packages
  4. Missing PSR compliance: Ensures all derived middleware properly implements MiddlewareInterface

Where to Use This Library

Design Goals

  1. Minimal footprint: Only essential shared functionality, no bloat
  2. PSR-15 compliant: Implements the standard middleware interface
  3. Type-safe: Full declare(strict_types=1) support
  4. Extensible: Abstract class designed to be extended, not instantiated directly
  5. Zero configuration: Works out of the box with sensible defaults

Requirements

Installation

Install by adding the package as a Composer requirement:

Usage Examples

Extending AbstractMiddleware

HTML Detection

The containsHtml() method checks for text/html or application/xhtml in the Content-Type header:

Transformation Statistics

For middleware that transforms HTML (minification, beautification), use getSuffixStatistics():


All versions of ctw-middleware with dependencies

PHP Build Version
Package Version
Requires php Version ^8.5
ext-mbstring Version *
psr/http-message Version ^1.1 || ^2.0
psr/http-server-middleware Version ^1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package ctw/ctw-middleware contains the following files

Loading the files please wait ...