Há algumas semanas me deparei com um problema e logo pensei em como solucioná-lo; Basicamente, estava utilizando o npm somente para poder instalar e utilizar o gulpjs. Meu projeto tinha (CSS, JS, HTML, etc.), estava utilizando o gulpjs somente para minificar CSS, e JS, e para compilar LESS, logo percebi que poderia salvar um pouco de recurso de maquina, e tempo de deploy fazendo tudo isso somente com o PHP, então criei o PHULP.
O PHULP nada mais é do que o gulpjs portado para o PHP. O conceito principal é o mesmo, ou seja, é um task manager ou task runner (como dizem outras pessoas), voltado para tratamento de arquivos, neste caso para minificação, compilação de LESS, SASS e etc. Mas podendo ser utilizado até onde a imaginação alcançar.
Existe a possibilidade de se criar plugins para o PHULP da mesma maneira que o gulpjs e já existem alguns criados aqui.
Como usar
No repositório do Github existe uma boa documentação de como se usar o PHULP, porém como é uma novidade, vou dar um exemplo simples, porém real, de utilização.
Instalando no seu projeto como composer
Somente precisamos executar o comando:
$ composer require reisraff/phulp
Escrevendo o PhulpFile.php
Criaremos uma task default que irá:
- iterar um diretório;
- encontrar somente arquivos que terminam com .php;
- imprimir o nome do arquivo no terminal;
- e por fim moveremos o arquivo para um diretório de destino;
task('default', function ($phulp) { // Define the source folder $phulp->src(['src/'], '/php$/') ->pipe($phulp->iterate(function ($distFile) { PhulpOutput::out($distFile->getName(), 'blue'); })) ->pipe($phulp->dest('dist/')); });
Executando o PHULP
Se você não configurou o bin-dir no composer:
$ vendor/bin/phulp
Pronto!
Além de encontrar e mover arquivos, o PHULP vem com alguns recursos no próprio core:
- limpar um diretório específico;
- fazer watch de algum diretório;
- fazer match de arquivos com expressão regular;
- criar múltiplas tarefas(tasks);
- entre outros (entre no repositório e explore o código).
Agradecimentos
Gostaria de agradecer algumas pessoas que me ajudaram a criar o PHULP:
Gabriel Couto – Ideias
Rodrigo Cardoso – Ideias
Rogerio Prado – Ideias
Miguel Oliveira – Contribuição no Github
Thorsten Frommen – Contribuição no Github
Alex Silva – Contribuição no Github
Powered by WPeMatico