Download the PHP package gcworld/interfaces without Composer

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

GCWorld Interfaces

Packagist Packagist

Packagist PHP Packagist GitHub

Shared PHP contracts used to keep GCWorld applications and libraries compatible without coupling their implementations. The package contains interfaces and permission-level constants; it does not provide concrete services.

Version

4.5.1

Requirements

Some contracts refer to optional services such as Redis, Redis Cluster, and the MongoDB PHP library. Only applications implementing those contracts need to install and configure the corresponding extension or package.

Installation

Install the package through Composer:

Usage

Implement the narrowest contract needed by the consuming application. For example, a renderable UI object can depend on UIRenderableInterface without depending on a particular view implementation:

Consumers can then type against the shared contract:

Available contracts

Area Contracts Purpose
Application services CommonInterface, CommonEnvironmentEnumInterface, CommonMongo Shared access to application configuration, paths, versions, environments, databases, caches, and MongoDB clients.
Database DatabaseInterface, DatabaseStatementInterface PDO-like database connection and statement abstractions.
HTTP and presentation RoutingInterface, PageWrapper, TwigInterface Routing, page metadata and notices, and Twig environment access.
UI UIButton, UICoreInterface, UIRenderableInterface Renderable UI elements and UI definition access.
User and session UserInterface, SessionInterface User settings, CSRF operations, messages, and session access.
Authorization PEX Permission checks and the shared permission-level constants.
Workers and scheduling Cron, GMWorkerInterface Scheduled task and worker entry points.
Models and enums ORMDescriptionInterface, BackedEnumWithTextInterface ORM field metadata and display text for backed enums.
Lifecycle patterns SingletonInterface, MultitonInterface Shared singleton and named-instance access patterns.
Errors ExceptionLoggerInterface, HasExceptionContext, SimpleTokenInterface Exception logging, structured exception context, and token-bearing exceptions.

The namespace root is GCWorld\Interfaces. Database contracts live under GCWorld\Interfaces\Database, and lifecycle contracts live under GCWorld\Interfaces\Patterns.

Development

The supported local environment uses the same public KongHack PHP 8.5 image as CI:

The committed Compose configuration mounts only this repository and runs with the invoking developer's UID and GID. It does not expose host SSH keys or Composer credentials. Developers who need private Composer authentication can copy docker-compose.override.yml.example to the ignored docker-compose.override.yml; that local override exposes Composer credentials and SSH keys to the container and should only be enabled when required.

Individual checks are also available:

PHPStan runs at level 6, and PHPCS enforces PSR-12 errors while ignoring advisory warnings such as line length.

GitHub Actions runs the suite on PHP 8.4 and 8.5. Dependabot checks the Composer lockfile and non-major GitHub Actions updates weekly.

Releases

Releases use bare semantic-version tags such as 4.4.14. Before tagging a release:

  1. Add the release notes to the matching version section in CHANGELOG.md.
  2. Update VERSION and the value immediately below ### Version in this file.
  3. Push the release commit and its matching tag.

GitHub Actions validates all three version references and the complete quality matrix before creating a GitHub Release from the matching changelog section. Release tags must not be moved or reused.

Compatibility

This package is consumed by many downstream repositories. Public method signatures, inherited interfaces, and constants are compatibility contracts; breaking changes require coordinated downstream work and a new major release.

License

Proprietary.


All versions of interfaces with dependencies

PHP Build Version
Package Version
Requires php Version >=8.4
twig/twig Version ^3.19
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 gcworld/interfaces contains the following files

Loading the files please wait ...