Download the PHP package tourze/symfony-aop-coroutine-bundle without Composer

On this page you can find all versions of the php package tourze/symfony-aop-coroutine-bundle. 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 symfony-aop-coroutine-bundle

Symfony AOP Coroutine Bundle

中文

Latest Version Build Status Quality Score Coverage Status Total Downloads PHP Version Require License

A Symfony bundle that provides coroutine-based service isolation using AOP (Aspect-Oriented Programming), enabling each request context to have its own independent service instances for better state isolation and concurrent processing.

Table of Contents

Features

Requirements

Installation

Install via Composer:

Register the bundle in config/bundles.php:

Quick Start

Basic Usage

  1. Mark your service as coroutine-enabled using the #[AsCoroutine] attribute:

  2. Use the service in your controller - each request will have its own isolated state:

Built-in Coroutine Services

The following services are automatically coroutine-enabled by default:

Request & Routing Services

Template Engine

Security Services

Logging Services

Other Services

Advanced Configuration

Alternative Ways to Enable Coroutine

Besides the #[AsCoroutine] attribute, you can also enable coroutine for services through:

  1. Service Tags - Tag your service with as-coroutine:

  2. Interface Implementation - Services implementing these interfaces are automatically coroutine-enabled:
    • SessionHandlerInterface
    • SessionUpdateTimestampHandlerInterface
    • Doctrine\ORM\EntityManagerInterface

Enhanced Logging

The bundle automatically enhances logging by adding a context_id field to all log records, making it easier to trace requests across coroutine contexts:

Important Notes

How It Works

The bundle uses AOP (Aspect-Oriented Programming) to intercept service instantiation and method calls. When a coroutine-enabled service is accessed:

  1. The CoroutineAspect intercepts the service call
  2. It checks if an instance exists for the current context
  3. If not, it creates a new isolated instance using the InstanceService
  4. The instance is stored per context and automatically cleaned up when the request terminates

Testing

Run the test suite to ensure everything is working correctly:

Contributing

We welcome contributions! Please follow these guidelines:

  1. Submit Issues for bugs, feature requests, or questions
  2. Create Pull Requests with your improvements
  3. Follow PSR standards for code style and formatting
  4. Run tests before submitting PRs to ensure compatibility
  5. Update documentation if your changes affect usage

Development Setup

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author: tourze team

Changelog

See the Git commit history for version updates and important changes.


All versions of symfony-aop-coroutine-bundle with dependencies

PHP Build Version
Package Version
Requires ext-session Version *
doctrine/orm Version ^3.0
monolog/monolog Version ^3.1
symfony/config Version ^7.3
symfony/dependency-injection Version ^7.3
symfony/event-dispatcher Version ^7.3
symfony/framework-bundle Version ^7.3
symfony/http-kernel Version ^7.3
symfony/property-access Version ^7.3
symfony/routing Version ^7.3
symfony/service-contracts Version ^3.6
symfony/yaml Version ^7.3
tourze/bundle-dependency Version 1.*
tourze/symfony-aop-bundle Version 1.0.*
tourze/symfony-dependency-service-loader Version 1.0.*
tourze/symfony-runtime-context-bundle 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 tourze/symfony-aop-coroutine-bundle contains the following files

Loading the files please wait ...