crustum / stimulus
Stimulus plugin for CakePHP
Requires
- php: >=8.3
- cakephp/cakephp: ^5.4
- crustum/plugin-manifest: ^1.0
- laminas/laminas-diactoros: ^3.0
- laravel/serializable-closure: ^1.3|^2.0
- skie/signal_handler: 1.0
- symfony/polyfill-php84: ^1.31
- symfony/process: ^7.0|^8.1
Requires (Dev)
- boundwize/structarmed: ^0.15
- cakedc/cakephp-phpstan: ^4.3
- cakephp/bake: ^3.8
- cakephp/cakephp-codesniffer: ^5.0
- crustum/broadcasting: ^1.0
- crustum/essentia: ^1.0.2
- crustum/explorator: ^1.0
- crustum/notification: ^1.0
- guzzlehttp/guzzle: ^7.15
- mockery/mockery: ^1.6.15
- phpstan/phpstan: ^2.2.2,<2.2.6
- phpunit/phpunit: ^10.5 || ^11.1 || ^12.5
- rector/rector: ^2.5
- spiral/roadrunner-cli: ^2.7
- spiral/roadrunner-http: ^4.1
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is not auto-updated.
Last update: 2026-09-20 13:10:09 UTC
README
The Stimulus plugin supercharges your CakePHP application's performance by serving it with high-powered application servers, including FrankenPHP, RoadRunner, Swoole, and Open Swoole.
Stimulus boots your application once, keeps it in memory, and feeds it requests at supersonic speeds instead of rebooting the framework for every request like PHP-FPM.
The plugin resets framework state between requests through worker listeners, and provides concurrent task dispatching, tick handlers, a shared Swoole-table cache, and Swoole tables for data shared across workers.
The plugin integrates seamlessly with CakePHP's application lifecycle and provides command line tools for installing, starting, reloading, stopping, and checking the status of the server.
Requirements
- PHP 8.3+
See Versions.md for the supported CakePHP versions.
Installation
You can install this plugin into your CakePHP application using composer:
composer require crustum/stimulus
Load the plugin:
bin/cake plugin load Crustum/Stimulus
Documentation
For documentation, as well as tutorials, see the docs directory of this repository.
License
Licensed under the MIT License. Redistributions of the source code included in this repository must retain the copyright notice found in each file.