zendframework / zend-expressive-swoole
Swoole support for Expressive
Installs: 23 553
Dependents: 1
Suggesters: 0
Security: 0
Stars: 164
Watchers: 29
Forks: 16
Open Issues: 2
Requires
- php: ^7.1
- ext-swoole: *
- dflydev/fig-cookies: ^1.0 || ^2.0
- ocramius/package-versions: ^1.3
- psr/container: ^1.0
- psr/http-message: ^1.0
- psr/http-message-implementation: ^1.0
- psr/http-server-handler: ^1.0
- psr/log: ^1.0
- symfony/console: ^4.1 || ^5.0
- zendframework/zend-diactoros: ^1.8 || ^2.0
- zendframework/zend-expressive: ^3.0.2
- zendframework/zend-httphandlerrunner: ^1.0.1
Requires (Dev)
- filp/whoops: ^2.1
- phpunit/phpunit: ^7.5.17 || ^8.4.3
- zendframework/zend-coding-standard: ~1.0.0
- zendframework/zend-servicemanager: ^3.3
Suggests
- ext-inotify: To use inotify based file watcher. Required for hot code reloading.
README
Repository abandoned 2019-12-31
This repository has moved to mezzio/mezzio-swoole.
This library provides the support of Swoole into an Expressive application. This means you can execute your Expressive application using Swoole directly from the command line.
Installation
Run the following to install this library:
$ composer require zendframework/zend-expressive-swoole
Configuration
After installing zend-expressive-swoole, you will need to first enable the component, and then optionally configure it.
We recommend adding a new configuration file to your autoload directory,
config/autoload/swoole.local.php
. To begin with, use the following contents:
<?php use Zend\Expressive\Swoole\ConfigProvider; return array_merge((new ConfigProvider())(), []);
The above will setup the Swoole integration for your application.
By default, Swoole executes the HTTP server with host 127.0.0.1
on port
8080
. You can change these values via configuration. Assuming you have the
above, modify it to read as follows:
<?php use Zend\Expressive\Swoole\ConfigProvider; return array_merge((new ConfigProvider())(), [ 'zend-expressive-swoole' => [ 'swoole-http-server' => [ 'host' => 'insert hostname to use here', 'port' => 80, // use an integer value here ], ], ]);
Expressive skeleton 3.1.0 and later
If you have built your application on the 3.1.0 or later version of the Expressive skeleton, you do not need to instantiate and invoke the package's
ConfigProvider
, as the skeleton supports it out of the box.You will only need to provide any additional configuration of the HTTP server.
Execute
Once you have performed the configuration steps as outlined above, you can run an Expressive application with Swoole using the following command:
$ ./vendor/bin/zend-expressive-swoole start
Call the command without arguments to get a list of available commands, and use
the help
meta-argument to get help on individual commands:
$ ./vendor/bin/zend-expressive-swoole help start
Documentation
Browse the documentation online at https://docs.zendframework.com/zend-expressive-swoole/