<aside> <img src="/icons/light-bulb_gray.svg" alt="/icons/light-bulb_gray.svg" width="40px" /> English version

Introduction to PHPCTL

</aside>

Quem já não perdeu algumas horas, até dias, configurando o computador para desenvolver com PHP?

https://github.com/opencodeco/phpctl

Nos primórdios, muitas pessoas recorriam a soluções como LAMP, WAMP, XAMPP etc. Pra quem não é dessa época, eram conjuntos de ferramentas que vinham com o Apache, o MySQL e o PHP, e você instalava como um programa qualquer, com o famoso “Next, next, next…”.

Com o tempo as pessoas deixaram de usar esse tipo de ferramenta, ainda mais com o advento do web-server embutido (built-in) do PHP, então a gente não precisa mais se preocupar em configurar um web-server como o Apache ou o Nginx.

Além disso, outra proposta que chegou e veio pra ficar foi o uso de containers, muito popularizado pela ferramenta Docker (mas existem outras runtimes).

Containers

O uso de containers foi mesmo revolucionário, muito conhecido por acabar com aquela famigerada frase “na minha funciona”, afinal, a grande proposta do uso de containers é uniformizar a execução e distribuição de programas.

Hoje em dia, assim como o Git, é uma ferramenta indispensável no arsenal de qualquer desenvolvedor e não seria diferente para os desenvolvedores PHP.

Pensando nisso, nessa facilidade que os containers trazem, seu uso ser tão bem adotado entre as pessoas e depois de tanto lutar com diversas formas de configurar ambientes de desenvolvimento PHP, passado por phpbrew, asdf ou até tentando me virar com o brew e o apt direto, resolvi criar a phpctl.

PHPCTL

https://github.com/opencodeco/phpctl

A phpctl é toda baseda em containers, ou seja, você só precisa do Docker instalado na sua máquina e do Git pra instalar fazendo um clone do repositório. Quando você executa um comando da phpctl ela roda um container todo configurado pra entender seu diretório atual e usando uma imagem com diversas extensões em comum pré-instaladas.

A primeira linha de output é o nome da imagem que o container usará. É bem útil pra você ter certeza de onde seu comando vai rodar.

A primeira linha de output é o nome da imagem que o container usará. É bem útil pra você ter certeza de onde seu comando vai rodar.

Como começar

Criei um script instalador que faz um clone do repositório e que também já cria links dos binários da phpctl para o seu diretório /usr/local/bin, assim você já vai ter acesso à comandos, como php e phpctl (entre vários outros) direto do terminal de qualquer lugar:

sh <(wget -qO- <https://raw.githubusercontent.com/opencodeco/phpctl/main/installer.sh>)

Assim que você instalar a phpctl, você já vai ter também o composer, que é o gerenciador de pacotes adotado pela comunidade PHP.

Untitled

A lista de comandos é extensa, recomendo você dar uma olhada no README.md do projeto ou usar o comando help para ter uma lista dos possíveis comandos e uma breve descrição de cada um deles.