Download the PHP package cordis-php/cordis without Composer

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

Cordis PHP

Cordis PHP is a strictly typed PHP 8.2+ runtime for building applications from reversible plugins and YAML composition. It takes the durable parts of Cordis:

It is deliberately synchronous. PHP processes usually own the event loop at a higher layer, so a plugin's lifecycle is deterministic and can be embedded in CLI, worker, web, or framework hosts without imposing an async runtime.

Install

Minimal composition

Plugins implement CordisPhp\Contract\Plugin. They receive a child Context, can provide services, subscribe to events, and return an optional cleanup closure. Every registration is automatically tied to the plugin's scope.

YAML grammar

Each entry has an id and either a plugin name or a group of child entries. config and disabled are the only expression-capable fields.

The safe expression vocabulary is small and explicit:

No YAML value is evaluated as PHP. A !expr YAML tag is also accepted and uses the same structured payload.

The runtime envelope is closed and has a CI/editor-friendly YAML Schema: YAML composition guide and schema. Plugin config remains opaque to that envelope schema and is validated by its registered plugin.

Layering and reload

YamlRuntimeLoader::reload($patches) reads and validates a complete document, applies id-targeted patches, and reconciles the live plugin tree. A patch can replace a row's fields or append entries to the root or a group:

reloadIfChanged() is the host-friendly hot-reload primitive: a CLI watcher, RoadRunner worker, or framework development server decides when to call it. Lifecycle changes settle synchronously, and provider services are unpublished before provider cleanup runs so dependents stop first. Long-lived hosts must still call reload at a quiescent safe point: Cordis cannot invalidate a service reference already held by application code that is still executing.

Quality gates

The Pest suite covers lifetimes, service replacement, dependency pending and restart, event modes, YAML validation, expression safety, patches, groups, health snapshots, isolation, interception, and live reconciliation. Pull requests run the suite on PHP 8.2 through 8.5, with Symfony YAML 7 and Symfony YAML 8 on the PHP versions supported by each line.

Releases

The package is published through Packagist from the public GitHub repository. Release versions are owned by ops/version/current.yaml, and v<version> tags drive the checked GitHub Release workflow. Contributors preparing a release can inspect the complete procedure with:

Packagist derives Composer versions from the VCS tags, so the Composer manifest intentionally does not duplicate the release version.

Repository operations

The repository carries a versioned, self-describing operations catalogue under ops/. It keeps local developer and agent workflows explicit without replacing Composer's PHP tooling:

Each capability declares its command surface, required tools, path ownership, and any agent skill. The control validator checks those contracts, and the repository-wide check and test lanes are derived from the manifests rather than maintained as a second hand-written list.

Operator and agent skills

The solution-facing skill catalogue maps real Cordis use cases to focused procedures for design, agent harnesses, plugin development, YAML configuration, refactoring, operations, troubleshooting, and verification. They are repository-local durable instructions for operators and coding agents; they complement the repository-maintenance skills stored inside ops/.

Runnable examples

The examples directory contains nine self-checking CLI programs. They show scoped cleanup, dynamic dependency restart, YAML reloads, event pipelines, runtime observability, service isolation, configuration validation, deployment-owned service swaps, and local service interception using only this library's public API.

Run all of them with:


All versions of cordis with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
symfony/yaml Version ^7.3 || ^8.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 cordis-php/cordis contains the following files

Loading the files please wait ...