Download the PHP package ctw/ctw-qa without Composer

On this page you can find all versions of the php package ctw/ctw-qa. 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-qa

Package "ctw/ctw-qa"

Latest Stable Version GitHub Actions Scrutinizer Build Scrutinizer Quality Code Coverage

Centralized, opinionated configuration for PHP 8.3+ quality assurance tools: Rector, Easy Coding Standard (ECS), and PHPStan.

Introduction

Why This Library Exists

Setting up quality assurance tools properly is tedious and error-prone. Each project requires configuring:

Multiplied across numerous projects, this becomes a maintenance burden. Configurations drift, standards diverge, and teams waste time debugging tool setups instead of writing code.

This library provides:

Problems This Library Solves

  1. Configuration drift: Projects diverge in coding standards over time
  2. Repetitive setup: Same boilerplate written for every new project
  3. Inconsistent quality: Different strictness levels across codebases
  4. Maintenance burden: Tool updates require changes in multiple places
  5. Onboarding friction: New developers must learn project-specific configurations

Where to Use This Library

Design Goals

  1. Opinionated defaults: Strong opinions for modern PHP, easily overridable
  2. Invokable classes: Simple $config() syntax for integration
  3. Maximum strictness: PHPStan level max, strict comparisons, strict types
  4. Minimal dependencies: Only the three QA tools themselves
  5. Extensible: All configuration classes designed for inheritance

Requirements

Installation

Install by adding the package as a Composer requirement:

Usage Examples

Rector Configuration

Create rector.php in your project root:

ECS Configuration

Create ecs.php in your project root:

PHPStan Configuration

Create phpstan.neon in your project root:

Composer Scripts

Add to your composer.json:

Run QA checks:


Included Rule Sets

Rector (Code Modernization)

Set Description
UP_TO_PHP_83 Modernizes code to PHP 8.3 syntax
PHPUNIT_100 Upgrades PHPUnit to version 10.0+
CODE_QUALITY Simplifies expressions, removes redundancy
CODING_STYLE Enforces consistent style
DEAD_CODE Removes unused code
NAMING Improves naming conventions

ECS (Code Style)

Rule Description
DeclareStrictTypesFixer Adds declare(strict_types=1)
DisallowLongArraySyntaxSniff Enforces short array syntax []
StrictComparisonFixer Enforces === over ==
NoUnusedImportsFixer Removes unused imports
OrderedImportsFixer Alphabetizes imports
TrailingCommaInMultilineFixer Adds trailing commas

PHPStan (Static Analysis)


Customization

Extend any configuration class to modify defaults:

Use your custom class:


All versions of ctw-qa with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
phpstan/extension-installer Version ^1.4
phpstan/phpstan Version ^2.0
phpstan/phpstan-phpunit Version ^2.0
phpstan/phpstan-strict-rules Version ^2.0
rector/rector Version ^2.0
symplify/easy-coding-standard Version ^13.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-qa contains the following files

Loading the files please wait ...