diff options
Diffstat (limited to 'docs/integration')
-rw-r--r-- | docs/integration/cake.md | 8 | ||||
-rw-r--r-- | docs/integration/chubbyphp.md | 6 | ||||
-rw-r--r-- | docs/integration/laravel.md | 12 | ||||
-rw-r--r-- | docs/integration/mezzio.md | 6 | ||||
-rw-r--r-- | docs/integration/migration.md | 85 | ||||
-rw-r--r-- | docs/integration/phalcon.md | 17 | ||||
-rw-r--r-- | docs/integration/slim.md | 10 | ||||
-rw-r--r-- | docs/integration/spiral.md | 14 | ||||
-rw-r--r-- | docs/integration/symfony.md | 23 | ||||
-rw-r--r-- | docs/integration/symlex.md | 13 | ||||
-rw-r--r-- | docs/integration/template.md | 5 | ||||
-rw-r--r-- | docs/integration/ubiquity.md | 8 | ||||
-rw-r--r-- | docs/integration/yii.md | 10 | ||||
-rw-r--r-- | docs/integration/zend.md | 8 |
14 files changed, 225 insertions, 0 deletions
diff --git a/docs/integration/cake.md b/docs/integration/cake.md new file mode 100644 index 00000000..8f37fe3a --- /dev/null +++ b/docs/integration/cake.md @@ -0,0 +1,8 @@ +# CakePHP +List of available integrations. + +> Attention, these set of integrations is currently available for v1.* of RoadRunner. + +Repository | Status +--- | --- +https://github.com/CakeDC/cakephp-roadrunner | [![Downloads](https://poser.pugx.org/cakedc/cakephp-roadrunner/d/total.png)](https://packagist.org/packages/cakedc/cakephp-roadrunner) [![Latest Version](https://poser.pugx.org/cakedc/cakephp-roadrunner/v/stable.png)](https://packagist.org/packages/cakedc/cakephp-roadrunner) [![License](https://poser.pugx.org/cakedc/cakephp-roadrunner/license.svg)](https://packagist.org/packages/cakedc/cakephp-roadrunner)
\ No newline at end of file diff --git a/docs/integration/chubbyphp.md b/docs/integration/chubbyphp.md new file mode 100644 index 00000000..fb44e01b --- /dev/null +++ b/docs/integration/chubbyphp.md @@ -0,0 +1,6 @@ +# [Chubbyphp Framework](https://github.com/chubbyphp/chubbyphp-framework) +List of available integrations. + +Repository | Status +--- | --- +[chubbyphp/chubbyphp-framework](https://github.com/chubbyphp/chubbyphp-framework/blob/master/doc/Server/Roadrunner.md)|MIT License diff --git a/docs/integration/laravel.md b/docs/integration/laravel.md new file mode 100644 index 00000000..b00180c2 --- /dev/null +++ b/docs/integration/laravel.md @@ -0,0 +1,12 @@ +# Laravel +The official integration is available via [Laravel Octane](https://github.com/laravel/octane). + +List of available community integrations. + +Repository | Status +--- | --- +[spiral/roadrunner-laravel](https://github.com/spiral/roadrunner-laravel) | ![Version](https://img.shields.io/packagist/php-v/spiral/roadrunner-laravel.svg) ![Build Status](https://img.shields.io/github/workflow/status/spiral/roadrunner-laravel/build) ![Coverage](https://img.shields.io/codecov/c/github/spiral/roadrunner-laravel/master.svg) ![License](https://img.shields.io/packagist/l/spiral/roadrunner-laravel) +[updg/roadrunner-laravel](https://github.com/UPDG/roadrunner-laravel) | ![License](https://img.shields.io/packagist/l/UPDG/roadrunner-laravel.svg) +[hunternnm/laravel-roadrunner](https://github.com/Hunternnm/laravel-roadrunner) | ![License](https://img.shields.io/packagist/l/Hunternnm/laravel-roadrunner.svg) + +> An example of a laravel application in a docker container with RoadRunner as a web server (plugged using [spiral/roadrunner-laravel](https://github.com/spiral/roadrunner-laravel)) can be found in [this repository](https://github.com/tarampampam/laravel-roadrunner-in-docker). diff --git a/docs/integration/mezzio.md b/docs/integration/mezzio.md new file mode 100644 index 00000000..5e7a3fcc --- /dev/null +++ b/docs/integration/mezzio.md @@ -0,0 +1,6 @@ +# [Mezzio](https://docs.mezzio.dev/) +List of available integrations. + +Repository | Status +--- | --- +[bcremer/roadrunner-mezzio-integration](https://github.com/bcremer/roadrunner-mezzio-integration)|MIT License diff --git a/docs/integration/migration.md b/docs/integration/migration.md new file mode 100644 index 00000000..5228f38c --- /dev/null +++ b/docs/integration/migration.md @@ -0,0 +1,85 @@ +# Migration from v1.0 to v2.0 +To migration integration from RoadRunner v1.* to v2.* follow the next steps. + +## Update Configuration +Second version of RoadRunner use single worker factory for all of its plugins. This means that you must include a new section +into your config `server` which is responsible for the worker creation. Limit service no longer presented as separate entity +but rather part of specific service configuration. + +```yaml +rpc: + listen: tcp://127.0.0.1:6001 + +server: + command: "php tests/psr-worker-bench.php" + +http: + address: "0.0.0.0:8080" + pool: + num_workers: 4 +``` + +> Read more in [config reference](/intro/config.md). + +## No longer worry about echoing +RoadRunner 2.0 intercepts all output to the STDOUT, this means you can start using default var_dump and other echo function +without breaking the communication. Yay! + +## Explicitly declare PSR-15 dependency +We no longer ship the default PSR implementation with RoadRunner, make sure to include one you like the most by yourself. +For example: + +```bash +$ composer require nyholm/psr7 +``` + +## Update Worker Code +RoadRunner simplifies worker creation, use static `create()` method to automatically configure your worker: + +```php +<?php + +use Spiral\RoadRunner; + +include "vendor/autoload.php"; + +$worker = RoadRunner\Worker::create(); +``` + +Pass the PSR-15 factories to your PSR Worker: + +```php +<?php + +use Spiral\RoadRunner; +use Nyholm\Psr7; + +include "vendor/autoload.php"; + +$worker = RoadRunner\Worker::create(); +$psrFactory = new Psr7\Factory\Psr17Factory(); + +$worker = new RoadRunner\Http\PSR7Worker($worker, $psrFactory, $psrFactory, $psrFactory); +``` + +RoadRunner 2 unifies all workers to use similar naming, change `acceptRequest` to `waitRequest`: + +```php +while ($req = $worker->waitRequest()) { + try { + $rsp = new Psr7\Response(); + $rsp->getBody()->write('Hello world!'); + + $worker->respond($rsp); + } catch (\Throwable $e) { + $worker->getWorker()->error((string)$e); + } +} +``` + +## Update RPCs +To create RPC client use new Goridge API: + +```php +$rpc = \Spiral\Goridge\RPC\RPC::create('tcp://127.0.0.1:6001'); +```
\ No newline at end of file diff --git a/docs/integration/phalcon.md b/docs/integration/phalcon.md new file mode 100644 index 00000000..4b46e7d0 --- /dev/null +++ b/docs/integration/phalcon.md @@ -0,0 +1,17 @@ +# Phalcon 3 and Phalcon 4 + +## Phalcon 3 + +You can use [Phalcon+](https://github.com/bullsoft/phalconplus) to integrate with RR. Phalcon+ provides PSR-7 converter-classes: + - ```PhalconPlus\Http\NonPsrRequest``` to help converting PSR7 Request to Phalcon Native Request, + - ```PhalconPlus\Http\PsrResponseFactory``` to help create PSR7 Response from Phalcon Native Response. + +and other finalizer to process stateful service in `di container`. + +## Phalcon 4 + +Phalcon 4 has builtin supports for PSR-7: + - [Request](https://docs.phalcon.io/4.0/zh-cn/http-request), + - [Response](https://docs.phalcon.io/4.0/zh-cn/http-response), + + you can easily integrate with RR. diff --git a/docs/integration/slim.md b/docs/integration/slim.md new file mode 100644 index 00000000..01a641d0 --- /dev/null +++ b/docs/integration/slim.md @@ -0,0 +1,10 @@ +# Slim +List of available integrations. + +> Attention, these set of integrations is currently available for v1.* of RoadRunner. + +Repository | Status +--- | --- +https://github.com/n1215/roadrunner-docker-skeleton/blob/slimphp/worker.php | Not available +https://github.com/spiral/roadrunner/issues/62 | Other references + diff --git a/docs/integration/spiral.md b/docs/integration/spiral.md new file mode 100644 index 00000000..829bcb4d --- /dev/null +++ b/docs/integration/spiral.md @@ -0,0 +1,14 @@ +# Spiral Framework +RoadRunner is the default application server for [**Spiral Framework**](https://spiral.dev/). +Framework use extended server build with the following modules enabled: + +- HTTP +- Static Content +- Queue (RabbitMQ, AWS SQS, Beanstalkd, In-Memory) +- GRPC +- Limit +- WebSocket broadcasting +- Metrics + +## Download +You can download RoadRunner with enabled features [here](https://github.com/spiral/framework/releases). diff --git a/docs/integration/symfony.md b/docs/integration/symfony.md new file mode 100644 index 00000000..c66436c2 --- /dev/null +++ b/docs/integration/symfony.md @@ -0,0 +1,23 @@ +# Symfony Framework + +List of available integrations. + +Repository | Status +--- | --- +https://github.com/baldinof/roadrunner-bundle | [![Version][baldinof_badge_php_version]][baldinof_link_packagist] [![Build Status][baldinof_badge_build_status]][baldinof_link_build_status] [![License][baldinof_badge_license]][baldinof_link_license] +https://github.com/php-runtime/roadrunner-symfony-nyholm | [![Version][phpruntime_badge_php_version]][phpruntime_link_packagist] [![License][phpruntime_badge_license]][phpruntime_link_license] + +[baldinof_badge_packagist_version]:https://img.shields.io/packagist/v/baldinof/roadrunner-bundle.svg?maxAge=180 +[baldinof_badge_php_version]:https://img.shields.io/packagist/php-v/baldinof/roadrunner-bundle.svg?longCache=true +[baldinof_badge_build_status]:https://img.shields.io/github/workflow/status/baldinof/roadrunner-bundle/CI +[baldinof_badge_license]:https://img.shields.io/packagist/l/baldinof/roadrunner-bundle.svg?longCache=true +[baldinof_link_packagist]:https://packagist.org/packages/baldinof/roadrunner-bundle +[baldinof_link_build_status]:https://github.com/baldinof/roadrunner-bundle/actions +[baldinof_link_license]:https://github.com/baldinof/roadrunner-bundle/blob/master/LICENSE + +[phpruntime_badge_packagist_version]:https://img.shields.io/packagist/v/runtime/roadrunner-symfony-nyholm.svg?maxAge=180 +[phpruntime_badge_php_version]:https://img.shields.io/packagist/php-v/symfony/runtime.svg?longCache=true +[phpruntime_badge_license]:https://img.shields.io/packagist/l/runtime/roadrunner-symfony-nyholm.svg?longCache=true +[phpruntime_link_packagist]:https://packagist.org/packages/runtime/roadrunner-symfony-nyholm +[phpruntime_link_build_status]:https://github.com/php-runtime/runtime/actions +[phpruntime_link_license]:https://github.com/php-runtime/roadrunner-symfony-nyholm/blob/master/LICENSE diff --git a/docs/integration/symlex.md b/docs/integration/symlex.md new file mode 100644 index 00000000..af7dfd2d --- /dev/null +++ b/docs/integration/symlex.md @@ -0,0 +1,13 @@ +# Symlex Framework + +> Attention, these set of integrations is currently available for v1.* of RoadRunner. + +[Symlex](https://symlex.org/) is a lean framework stack for agile Web development based on Symfony and Vuetify. +RoadRunner is used as default application server since version 4.4.0. The GitHub repository contains everything to get you started: + +[github.com/symlex/symlex](https://github.com/symlex/symlex) + +Simply delete what you don't need. +Since its initial release in 2014, it has proven to be well suited for rapidly building microservices, CLI and single-page applications. It comes complete with working examples from testing to forms and database abstraction. + +As published by [phpbenchmarks.com](http://www.phpbenchmarks.com/en/benchmark/symlex/4.1), REST requests are more than 40% faster compared to other common PHP frameworks. diff --git a/docs/integration/template.md b/docs/integration/template.md new file mode 100644 index 00000000..34644808 --- /dev/null +++ b/docs/integration/template.md @@ -0,0 +1,5 @@ +# {INTEGRATION-NAME} +List of available integrations. + +Repository | Status +--- | --- diff --git a/docs/integration/ubiquity.md b/docs/integration/ubiquity.md new file mode 100644 index 00000000..0c44d8cd --- /dev/null +++ b/docs/integration/ubiquity.md @@ -0,0 +1,8 @@ +# Ubiquity Framework +List of available integrations. + +> Attention, these set of integrations is currently available for v1.* of RoadRunner. + +Repository | Status +--- | --- +https://github.com/Lapinskas/roadrunner-ubiquity | Not available
\ No newline at end of file diff --git a/docs/integration/yii.md b/docs/integration/yii.md new file mode 100644 index 00000000..86310fe5 --- /dev/null +++ b/docs/integration/yii.md @@ -0,0 +1,10 @@ +# Yii 2 and Yii 3 + +## Yii 2 + +There is [Yii2 PSR-7 Bridge](https://github.com/charlesportwoodii/yii2-psr7-bridge) made by Charles R. Portwood II that covers almost everything needed for the integration. + +## Yii 3 + +There was an [experiment of running Yii3 with RoadRunner](https://forum.yiiframework.com/t/using-roadrunner-as-a-server/127060). When released, framework will support RoadRunner out of the box. + diff --git a/docs/integration/zend.md b/docs/integration/zend.md new file mode 100644 index 00000000..da83d983 --- /dev/null +++ b/docs/integration/zend.md @@ -0,0 +1,8 @@ +# Zend Expressive +List of available integrations. + +> Attention, these set of integrations is currently available for v1.* of RoadRunner. + +Repository | Status +--- | --- +https://github.com/sergey-telpuk/roadrunner-zend-expressive-integration | Not available
\ No newline at end of file |