PHP SP

Phulp

https://reisraff.github.io/phulp/dist/#!/home

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, já existem alguns criados , você pode ver 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;

<?php

// Define the default task
$phulp->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 como, por exemplo:
– 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

Você pode ver esse mesmo post no meu site: https://reisraff.github.io/dist/#!/posts/1/5
Você pode ver esse mesmo post no medium: https://medium.com/@reisraff/phulp-4f980054e84e#.jmuwo0hwq

Powered by WPeMatico