Fala, pessoal! Tudo bem?
É muito comum que durante nossa jornada de cursos de Big Data, Analytics, Data Science, IA e afins, sejamos apresentados à plataforma Jupyter e aos seus notebooks, não é mesmo?
Jupyter: The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine learning, and much more.
Acredito que se você já mexeu nessa plataforma, o padrão é usar a linguagem de programação Python, certo? Talvez R também? E se eu te disser que é possível usar várias outras também?
Sim, na data da publicação deste artigo, por exemplo, já havia mais de 40 linguagens suportadas. E o mais impressionante: o PHP é, sim, uma dessas linguagens suportadas no Jupyter Notebook!
Vamos ver então como fazer?
Primeiro: tenha o Jupyter disponível. A maneira mais simples que conheço no Windows é tendo o Anaconda disponível. Você consegue mais informações acessando o site oficial.
- Anaconda: The World’s Most Popular Python/R Data Science Platform
Tenha o PHP e o Composer com as dependências instaladas
Através deste link, você consegue pegar a última versão disponível do PHP. Para as coisas funcionarem você precisa pelo menos da versão PHP 7.2+.
Vale a pena colocar a pasta do binário do php.exe na sua variável de ambiente PATH. Dessa forma, você pode chamar o comando PHP de qualquer terminal. Talvez te ajude: a versão que usei aqui no meu computador é a PHP 7.2.7 NTS x64.
É necessário também ter instalado o gerenciador de dependências Composer. Mais informações no site oficial. Se instalar ele certinho, vai poder ter o comando composer disponível de qualquer terminal.
E, por último, é necessário que você tenha no PHP a extensão ZMQ. Para isso:
- Baixe no site da extensão PECL a versão correspondente ao que você tem no seu computador (no meu caso, baixei a 7.2 Non Thread Safe (NTS) x64). Quer saber qual sua versão do PHP? É fácil: no terminal, digite
php -v
. - Na mesma pasta onde está o arquivo php.exe, descompacte o arquivo libzmq.dll
- Na pasta ext, descompacte o arquivo php_zmq.dll
- Inclua, no fim do seu arquivo php.ini, a declaração
extension=php_zmq.dll
Não sabe onde fica o arquivo php.ini? Para descobrir é fácil, basta digitar o seguinte comando no terminal: php --ini
.
Foi na pasta e não achou um arquivo php.ini? Tranquilo – faça uma cópia do arquivo php.ini-development como php.ini e edite-o em seguida.
Quer confirmar se a extensão ZMQ está instalada? Na linha de comando você pode executar php -m
para mostrar todas as extensões disponíveis.
Instale o componente Jupyter-PHP (o kernel de PHP para o Jupyter)
No site oficial é possível encontrar mais informações. Em resumo:
Baixar o instalador .phar, entrar na pasta onde baixou pelo terminal, e executar: php jupyter-php-installer.phar install
.

E é isso! Se tiver problemas com o composer não acessando a URL do Packagist, pode dar uma olhada neste projeto aqui – nele você encontra tem mais instruções!
Pronto, agora é só reiniciar o seu Jupyter, e quando for criar um notebook, vai encontrar a opção de escolher PHP também (além dos outros que você já tinha, tipo o Python 3).
Aqui vai um exemplo:

Se quiser testar no seu próprio ambiente, é só baixar neste link.
- Por que usar PHP nesse mundo? Não era para estarmos focando mais em Python, R e outras?
Acho muito que é uma questão parecida com o que eu via no passado quando estava bastante envolvido com comunidades e meetups.
Já ouvia o seguinte:
- “Poxa, Golang seria uma opção muito melhor para IA, por ser mais rápida e etc”
Mas o Python já tinha ganhado a briga, já que os algoritmos matemáticos todos já tinham sido implementados nele, e em Golang, não.
Hoje, pela pesquisa rápida que fiz, Golang ainda não tem ecossistema que se compara ao de R ou Python, mas não quer dizer que não tenha suas vantagens, né?
Entre os pontos positivos do PHP, acredito em usá-lo também para ML e afins, aqui no “Banco X”:
- Linguagem madura e cada vez mais rápida desde a versão 7.0 (hoje está na 7.3)
- Ótimo ecossistema, ainda ativa e muito utilizada por diversas grandes empresas
- Suporte da comunidade e de muitos players, seja para integrações ou para infra
- Ainda é a mais usada de toda a web (79% em maio, 2019)
- É uma das plataformas oficialmente homologadas no “Banco X”
- Tem suporte em toda a infra do “Banco X” atual (desde os servidores IIS com Fastcgi, Linux Apache nos ambientes descentralizados, ou mesmo da infra de Openshift, Docker, etc, do ambiente centralizado)
- Permitirá que os colegas que já tenham um certo domínio do PHP e seu ecossistema de usar esse conhecimento para esse novo mundo do Data Science, Analytics, IA, Machine Learning, etc.
E você, o que anda fazendo aí na sua área? Bora testar mais essa opção?
O mais importante é compartilhar o que está fazendo, assim todos podemos ganhar e a empresa também!
Podem me chamar para conversar em todos os canais, ok?
Até a próxima. Abraços!
***
Este artigo foi publicado originalmente em RogerioPradoJ.com.