Usando phulp-server – Tudo sobre PHP
09 de novembro de 2016 [email protected]
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 "ReactEventLoopLoopInterface". Se sua aplicação usa o React, você também poderá usar o phulp-server. Exemplo de uso: