Code Monkey home page Code Monkey logo

async-php's Introduction

Exemplos criados para apresentação no IXCTalks, evento interno da IXCSoft, realizado presencialmente no dia 19 de Outubro de 2021.

Programação assíncrona com PHP

Este repositório contém alguns exemplos de programação assíncrona em PHP, utilizando diversos pacotes.

Para todos os exemplos, é necessário a instalação do Composer(exceto Swoole), para isso, navegue até a pasta do exemplo e execute:

composer install

phpsocket.io (Chat básico)

Uma implementação alternativa do lado do servidor de socket.io em PHP baseada no Workerman.

Para iniciar o serviço do SocketIO em mode debug, execute no seu terminal no diretório do exemplo:

php socketio.php start

Para parar, pressione Ctrl + C

No navegador acesse: http://localhost/async-php/socketio.

Documentação completa do pacote: https://github.com/walkor/phpsocket.io

Layout utilizado no exemplo: https://www.bootdey.com/snippets/view/animated-chat-window

Workerman

Workerman é uma estrutura de PHP orientada a eventos assíncronos com alto desempenho para construir aplicativos de rede rápidos e escaláveis. Workerman oferece suporte a HTTP, Websocket, SSL e outros protocolos personalizados. Workerman suporta extensão de evento.

Timer

Você pode usar o Timer, para executar operação não bloqueante de tempo em tempo, com fácil configuração.

Execute no terminal:

php timer.php start

Documentação completa do pacote: https://github.com/walkor/Workerman

Websocket (Comunicação com o servidor)

Você pode utilizar websocket para criar apliçações do tipo realtime, como chats.

Execute no terminal:

php websocket.php start

No navegador acesse: http://localhost/async-php/workerman/public.

Ratchet (Chat básico)

Ratchet é uma biblioteca PHP fracamente acoplada que fornece aos desenvolvedores ferramentas para criar aplicativos

bidirecionais em tempo real entre clientes e servidores por meio de WebSockets. Esta não é a Internet do seu avô.

Para iniciar o serviço do Ratchet, execute no seu terminal no diretório do exemplo:

php ratchet.php

No navegador acesse: http://localhost/async-php/ratchet.

Documentação completa do pacote: http://socketo.me/

Swoole

Extensão PHP de código aberto para Async IO, Coroutines e Fibers

Para o Swoole, é necessário instalar a extensão: https://www.swoole.co.uk/docs/get-started/installation

Exemplo de Coroutine, adição de exemplo, para execução assíncrona do loop foreach.

Em seu terminal, execute:

php coroutine.php

php coroutine-api.php

Documentação completa da extensão: https://www.swoole.co.uk/

async-php's People

Contributors

marcosmarcolin avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.