Fork me on GitHub

Grupo de desenvolvedores de PHP do estado de São Paulo
Próximos encontros e eventos? Visite a página do PHPSP no Meetup

Usando phulp-server

Por em em Artigos

Há um tempo atrás, por uma necessidade de projeto, criei uma ferramenta em PHP análoga ao GulpJS, a qual eu dei o nome de phulp. As razões para a criação dessa ferramenta estão nesse post: https://reisraff.github.io/#!/posts/1/5.

Ultimamente, me surgiu a necessidade de ter um task “watcher”, onde, ao atualizar uma stack de arquivos definidos, seja executado uma clousure, e pegar o resultado dessa clousure e servir em tempo real via HTTP. Ou seja, para que eu possa acompanhar o resultado final das mudanças sem ter a necessidade de fazer um build. Para isso, implementei o “watch” no phulp e criei o phulp-server que tem a flexibilidade de ser usado em conjunto com o phulp ou standalone.

Na concepção do Phulp-server me deparei com o problema de precisar usar threads e, em geral, as compilações de PHP não as tem por padrão. Usar threads é o que faria a mágica de build e servir ao mesmo tempo. Para resolver o problema, recorri ao react-php, onde consigo, através de pipes, no meu caso, receber as saídas de um comando (nesse caso o “php -S”), realizar algo com essa saída, e executar alguma outra tarefa (nesse caso o “watch”).

O phulp-server tem como dependência o “React\EventLoop\LoopInterface”. Se sua aplicação usa o React, você também poderá usar o phulp-server. Exemplo de uso:

Baixando com o composer:

Escrevendo o phulpfile.php

Rodando o comando no terminal:

Pronto ;)

Como é feito com o react-php, se pode ter mais de uma instância do phulp-server.

Você também pode ver esse post em:
Blog Pessoal
Medium