Comments (12)
Here is example for workerman with PSR 7.
install
composer require workerman/psr7 ~1.4.4
example
<?php
require_once __DIR__ . '/vendor/autoload.php';
use Workerman\Worker;
use Workerman\Protocols\Http;
use Workerman\Psr7\Response;
use Workerman\Psr7\ServerRequest;
$worker = new Worker('http://0.0.0.0:12345');
Http::requestClass(Workerman\Psr7\ServerRequest::class);
$worker->onMessage = function($connection, ServerRequest $request)
{
$response = new Response(200, [], 'hello world');
$connection->send($response);
};
Worker::runAll();
from workerman.
If anyone interested, I've used Workerman as the platform for building perfromant PSR7 framework here:
https://github.com/gotzmann/comet
There transparent transformation between Workerman internal Request and Response classes and PSR-7 compliant ones.
from workerman.
Thank you for your post @Arul- .
But I want to make workerman as simple as possible. I think it's a better choice to build a new PSR7 project and use composer to install it.
from workerman.
Take a look at my implementation at https://github.com/Arul-/reactive-restler/blob/dev/interop/Workerman/Psr7.php
The only dependency it has with the rest of my framework is
$class = ClassName::get(ServerRequestInterface::class);
It can easily be changed by hardcoding the PSR Request class
I can make a pull request here if you like
from workerman.
A request handler adapter for workerman, using PSR-7, PSR-15 and PSR-17. Which can be used with every framework which is PSR-7 based.
https://github.com/chubbyphp/chubbyphp-workerman-request-handler
from workerman.
Sorry. There is no plan at present.
: - (
from workerman.
Well I can help if you man but it require intensive communication. Where I can reach you for more talk about this? any IM maybe
from workerman.
either gitter or IRC is fine with me since those tools already used by most opensource project also it can attract foreign developer to contribute.
from workerman.
https://gitter.im is ok.
I've joined Atriedes and joostshao in the chat.
from workerman.
Understood!
from workerman.
Here is example for workerman with PSR 7.
install
composer require workerman/psr7 ~1.4.4
example
<?php require_once __DIR__ . '/vendor/autoload.php'; use Workerman\Worker; use Workerman\Protocols\Http; use Workerman\Psr7\Response; use Workerman\Psr7\ServerRequest; $worker = new Worker('http://0.0.0.0:12345'); Http::requestClass(Workerman\Psr7\ServerRequest::class); $worker->onMessage = function($connection, ServerRequest $request) { $response = new Response(200, [], 'hello world'); $connection->send($response); }; Worker::runAll();
In workerman 4.x, $connection->send($response);
is not work perfectly.
It is better to use $connection->send(\Workerman\Psr7\response_to_string($response), true);
from workerman.
As workerman is now introducing/enhancing the HTTP
class with its friends. Is there any plan to make those class PSR-7 compatible?
from workerman.
Related Issues (20)
- change worker after onMessage event HOT 3
- Question: What http workers do ? HOT 1
- How to start script many times at same time HOT 2
- Kill worker in linux HOT 4
- From Ratchet to Workerman HOT 1
- Error package because of receiving data before handshake HOT 3
- Restrict access by origin domain and limit the number of connections HOT 1
- Implementation of the onError() handler HOT 1
- Param sameSite in the $response->cookie() should be a string HOT 1
- v5版本使用swow发生文件不存在异常 HOT 3
- [BUG] 监听[::]22348地址,REMOTE_ADDR获取不到客户端ip HOT 1
- Run Workerman in daemon mode with Windows HOT 2
- Estrange behavior in composer require HOT 1
- runtime test HOT 2
- add a watch command
- Question: docker and debug/daemon mode HOT 2
- Feature request: openswoole support HOT 1
- Timer::add in master process is impossible ? I think it can be HOT 1
- Use internal PHP to parse post data HOT 1
- Using this as Radius Server HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from workerman.