EventoObtenha 50% de desconto no seu ingresso para MongoDB.local Londres em outubro 2. Use o código WEB50Saiba mais >>
Desenvolvedor MongoDB
Central de desenvolvedor do MongoDBchevron-right
Idiomaschevron-right
PHPchevron-right

Preparando-se para executar PHP com MongoDB

Michael Lynn12 min read • Published Feb 05, 2022 • Updated Aug 29, 2024
MongoDBPHP
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Início rápido
star-empty
star-empty
star-empty
star-empty
star-empty
Emblema PHP
Bem-vindo a este guia de início rápido para MongoDB com PHP. Sabemos que você provavelmente está interessado em começar a escrever código e criar aplicativos usando PHP com MongoDB. Nós chegaremos lá, eu prometo. No entanto, vamos Go por algumas configurações necessárias primeiro.
Este guia está organizado em algumas seções em alguns artigos. Este primeiro artigo aborda a instalação e configuração do seu ambiente de desenvolvimento. PHP é uma linguagem integrada de desenvolvimento web. Existem vários componentes que você normalmente usa em conjunto com a linguagem de programação PHP. Se você já tiver o PHP instalado e só quer começar a usar o PHP e o MongoDB, fique à vontade para pular para opróximo artigo desta série.
Vamos começar com uma visão geral do que abordaremos nesta série.
Uma breve observação sobre PHP e Apache: como o PHP é principalmente uma linguagem web — o que significa que ele foi criado para funcionar com um servidor web — passaremos algum tempo no início deste artigo garantindo que você tenha PHP e Apache web servidor instalado e configurado corretamente. Existem alternativas, mas vamos nos concentrar em PHP e Apache.
O PHP foi desenvolvido e lançado pela primeira vez em 1994 por Rasmus Lerdorf. Embora tenha suas raízes na linguagem C, a sintaxe do PHP era muito parecida com a do Perl desde o início. Um dos principais motivos de sua enorme popularidade foi sua simplicidade e a natureza dinâmica e interpretada de sua implementação.

Pré-requisitos

Você precisará dos seguintes itens instalados em seu computador para acompanhar este tutorial:
  • MacOS Catalina ou posterior: você pode executar o PHP em versões anteriores, mas continuaremos no MacOS neste tutorial.
  • Homebrew Package Manager: o gerenciador de pacotes ausente para macOS.
  • PECL: o repositório para extensões PHP .
  • Um editor de código de sua preferência: recomendo o Visual Studio Code.

Instalação

Primeiro, vamos instalar as ferramentas de linha de comando, pois elas serão usadas pelo Homebrew:
Em seguida, usaremos um gerenciador de pacotes para instalar as coisas. Isso garante que nossas dependências serão atendidas. Prefiro Homebrew, ou brew para abreviar. Para começar a usar brew, abra seu terminal app e digite:
Isso aproveita curl para extrair os scripts e binários de instalação mais recentes para brew.
As instruções de instalação são bem simples. Digite sua senha quando necessário para assumir privilégios de root para a instalação. Quando estiver concluído, basta digitar o seguinte para verificar se o brew está instalado corretamente:
Se você tiver problemas neste ponto e não conseguir executar brew, consulte os documentos de instalação do Homebrew.
Você também pode verificar a instalação do homebrew usando brew doctor. Confirme se todos os problemas ou mensagens de erro foram resolvidos antes de prosseguir. Você pode encontrar avisos, que geralmente podem ser ignorados com segurança.

Instalando o Apache

Para usar o MongoDB com PHP, devemos instalar o Apache.
A versão mais recente do macOS 11.0 Big Sur vem com o Apache 2.4 pré-instalado, mas a Apple removeu alguns scripts essenciais, o que dificulta seu uso.
Então, para ter certeza de que estamos alinhados, vamos instalar o Apache 2.4 via Homebrew e, em seguida, executá-lo nas portas padrão (80/443).
Quando eu estava escrevendo este tutorial, perdi muito tempo tentando descobrir o que estava acontecendo com a versão pré-instalada. Então, acho melhor instalarmos do zero usando o Homebrew.
Agora, vamos instalar a versão mais recente do Apache:
Uma vez instalado, vamos iniciar o serviço.
Agora você deve conseguir abrir um navegador da Web, visitar http://localhost:8080 e ver algo semelhante ao seguinte:
"Funciona" durante a instalação do Apache para usar o MongoDB com PHP
O servidor web Apache padrão não oferece suporte para PHP integrado. Portanto, precisamos instalar o PHP e a extensão PHP para reconhecer e interpretar arquivos PHP.

Instalando o PHP

Se você instalou versões anteriores do PHP, recomendo enfaticamente que faça uma limpeza removendo as versões mais antigas. Se você tiver projetos anteriores que dependam dessas versões, precisará ter cuidado e fazer backup de suas configurações e arquivos de projeto.
O Homebrew é uma boa maneira de os usuários do MacOS instalarem o PHP.
Quando isso for concluído, você poderá testar se ele foi instalado corretamente emitindo o seguinte comando em seu prompt de linha de comando no terminal.
Você deverá ver algo semelhante a isto:

Instalando a extensão PHP

Agora que temos o php instalado, podemos configurar o Apache para usar o PHP para interpretar nosso conteúdo da web, traduzindo nossos comandos php em vez de exibir o código-fonte.
PECL (PHP Extension Community Library) é um repositório para extensões PHP, fornecendo um diretório de todas as extensões conhecidas e recursos de hospedagem ou download e desenvolvimento de extensões PHP. pecl é a ferramenta binária ou de linha de comando (instalada por padrão com PHP) que você pode usar para instalar e gerenciar extensões PHP. Faremos isso na próxima seção.
Instale a extensão PHP MongoDB antes de instalar a biblioteca PHP para MongoDB. É importante observar que a experiência completa do driver MongoDB é fornecida com a instalação da extensão de baixo nível (que se integra ao nosso driver C) e da biblioteca de alto nível, escrita em PHP.
Você pode instalar a extensão usando o PECL na linha de comando:
Em seguida, precisamos modificar o arquivo php.ini principal para incluir a extensão MongoDB. Para localizar seu arquivo php.ini, use o seguinte comando:
Para instalar a extensão, copie a linha a seguir e coloque-a no final do arquivo php.ini.
Depois de salvar o php.ini, reinicie o serviço Apache e, para verificar a instalação, use o seguinte comando.
Você deverá ver uma saída semelhante a esta:
Agora você está pronto para começar a usar o PHP para manipular e gerenciar dados em seus bancos de dados MongoDB. Em seguida, vamos nos concentrar em preparar seu cluster do MongoDB.

Solucionando problemas de configuração PHP

Se você estiver enfrentando problemas com a instalação da extensão do MongoDB, algumas dicas ajudam a verificar se tudo está instalado corretamente.
Primeiro, você pode verificar se o Apache e o PHP foram instalados com êxito criando um arquivo info.php na raiz do diretório da Web. Para localizar o diretório web raiz, use o seguinte comando:
No arquivo, adicione o seguinte conteúdo:
Em seguida, vamos falar sobre como executar um programa PHP no localhost. Navegue até http://localhost:8080/info.php e você deverá ver uma página em branco apenas com o texto Olá, mundo.
Em seguida, edite o conteúdo do arquivo info.php para:
Salve e, em seguida, atualize a página info.php. Você deverá ver uma página com uma grande tabela de informações PHP como esta:
tabela phpinfo
IMPORTANTE: Em servidores de produção, não é seguro expor as informações exibidas por phpinfo() em uma página acessível publicamente
As informações em que estamos interessados podem estar nestes locais:
  • A propriedade "Configuration File (php.ini) Path" mostra de onde o tempo de execução do PHP está obtendo o arquivo php.ini. Pode acontecer que a extensão mongodb.so tenha sido adicionada no arquivo php.ini errado, pois pode haver mais de um.
  • “Additional .ini files parsed mostra possíveis arquivos de configuração PHP extras que podem impactar sua configuração específica. Esses arquivos estão no diretório listado pela seção "Scan this dir for additional .ini files" na tabela.
Há também uma tabela “mongodb” inteira que se parece com isto:
A seção MongoDB em phpinfo
Sua presença indica que a extensão MongoDB foi carregada corretamente e está funcionando. Você também pode ver o número da versão para garantir que é a que pretende usar.
Se você não vir esta seção, é provável que a extensão MongoDB não tenha sido carregada. Se esse for o caso, procure a propriedade "error_log" na tabela para ver onde está o arquivo de log de erros do PHP, pois ele pode conter pistas cruciais. Certifique-se de que "log_errors" esteja definido como LIGADO. Ambos estão localizados na seção "Core" do PHP.
Se você estiver atualizando para uma versão mais recente do PHP ou tiver várias versões instaladas, lembre-se de que cada versão precisa ter sua própria extensão MongoDB e arquivos php.ini.

Iniciar um cluster MongoDB no Atlas

Agora que você configurou seu ambiente local, é hora de criar um MongoDB database para trabalhar e carregar alguns dados de exemplo que você possa explorar e modificar.
Comece hoje mesmo com um cluster M0 no Atlas. É gratuito para sempre e é a maneira mais fácil de experimentar as etapas desta série de blogs.
O provisionamento do cluster levará alguns minutos; portanto, enquanto espera, você pode passar para a próxima etapa.

Configurar sua instância do MongoDB

Esperemos que seu MongoDB cluster tenha terminado de ser iniciado agora e provavelmente esteja em execução há alguns minutos.
As instruções a seguir estavam corretas no momento da redação, mas podem mudar, pois estamos sempre melhorando o Atlas user:
Na interface web do Atlas, você verá um botão verde "Get Started" no canto inferior esquerdo da tela. Clique nele para ver uma lista de verificação de etapas para configurar seu banco de dados. Clique em cada um dos itens da lista (incluindo o item "Carregar dados de amostra " — usaremos isso posteriormente para testar a biblioteca PHP) para ajudar nas etapas de configuração.
A maneira mais rápida de obter acesso aos dados é carregar os conjuntos de dados de exemplo em seu cluster diretamente no console do Atlas. Se você for novo, o assistente de novo usuário o orientará durante o processo e solicitará que você os carregue.
Se você já criou o cluster e deseja voltar para carregar os conjuntos de dados de amostra, clique nas reticências (três pontos) ao lado dos botões de conexão do cluster (veja a imagem abaixo) e selecione Load Sample Dataset.
Carregar conjunto de dados de amostra
Agora, vamos definir a configuração necessária para acessar seus dados no Cluster MongoDB. Você precisará criar um usuário de banco de dados e configurar sua lista de acesso de endereços IP.

Criar um usuário

Seguindo as etapas de "Começar", crie um usuário com "Acesso de leitura e gravação a qualquer banco de dados". Você pode dar-lhe o nome de usuário e senha de sua escolha. Faça uma cópia deles, porque você vai precisar deles em breve. Use o botão "gerar automaticamente senha segura" para garantir que você tenha uma senha longa e aleatória que também seja segura para colar em sua string mais tarde.

Adicione seu endereço IP à lista de acesso

Ao implantar um aplicativo com dados confidenciais, você deve apenas colocar na lista de permissões o endereço IP dos servidores que precisam se conectar ao seu banco de dados. Para colocar na lista de permissões o endereço IP de sua máquina de desenvolvimento, selecione "Acesso à rede", clique no botão "Adicionar endereço IP" e, em seguida, clique em "Adicionar endereço IP atual" e pressione "Confirmar."

Conecte-se ao seu banco de dados

A última etapa da lista de verificação "Começar" é "Conecte-se ao seu cluster". Selecione "Conectar seu aplicativo" e selecione "PHP" com uma versão de "PHPLIB 1.8".
Conectar via PHP
Clique no botão "Copiar" para copiar o URL em seu buffer de colagem. Salve-o no mesmo local em que armazenou seu nome de usuário e senha. Observe que o URL tem <password> como espaço reservado para sua senha. Você deve colar sua senha aqui, substituindo todo o espaço reservado, inclusive os caracteres < e >.
Agora é hora de realmente escrever algum código PHP para se conectar ao seu MongoDB database! Até agora, instalamos apenas os componentes de suporte do sistema. Antes de começarmos a nos conectar ao nosso banco de dados e usar o PHP para manipular dados, precisamos instalar a biblioteca PHP do MongoDB.
Composer é a ferramenta de instalação recomendada para a biblioteca MongoDB. O Composer é uma ferramenta para gerenciamento de dependências em PHP. Ele permite que você declare as bibliotecas das quais seu projeto depende e ele as gerenciará (instalará/atualizará) para você.
Para instalar o composer, podemos usar o Homebrew.

Instalando a biblioteca PHP do MongoDB

Depois que o composer estiver instalado, você poderá prosseguir com a instalação da biblioteca do MongoDB.
A instalação da biblioteca deve ocorrer no diretório raiz do seu projeto. O Composer não é um gerenciador de pacotes no mesmo sentido que o Yum ou o Apt. O Composer instala pacotes em um diretório dentro do seu projeto. Por padrão, ele não instala nada globalmente.
Verifique se você está no mesmo diretório em que estava quando usou o composer acima para instalar a biblioteca.
No editor de código, crie um arquivo PHP no diretório de projeto chamado quickstart.php. Se você estiver referenciando o exemplo, insira o seguinte código:
<username> e <password> são o nome de usuário e a senha que você criou no Atlas, e o endereço do cluster é específico para o cluster que você iniciou no Atlas.
Salve e feche o programa quickstart.php e execute-o a partir da linha de comando:
Se tudo correr bem, você deverá ver algo semelhante ao seguinte:
Você acabou de conectar seu programa PHP ao MongoDB e realizou uma query de um único documento do banco de dados sample_analytics em seu cluster! Se você não vir esses dados, talvez não tenha carregado com sucesso os dados de amostra em seu cluster. Volte algumas etapas até que a execução desse comando mostre o documento acima.

Protegendo nomes de usuário e senhas

Armazenar nomes de usuários e senhas em seu código nunca é uma boa ideia. Vamos dar mais um passo para protegê-los um pouco melhor. É uma prática geral colocar esses tipos de valores confidenciais em um arquivo de ambiente como .env. O truque, então, será fazer com que seu código PHP leia esses valores. Felizmente, Vance Lucas encontrou uma ótima solução chamada phpdotenv. Para começar a usar a solução da Vance, vamos usar composer.
Agora que temos a biblioteca instalada, vamos criar nosso arquivo .env que contém nossos valores confidenciais. Abra seu editor favorito e crie um arquivo chamado .env, colocando os seguintes valores nele. Substitua your user name e your password pelos valores reais criados ao adicionar um usuário de banco de dados no Atlas.
Em seguida, precisamos modificar nosso programa quickstart.php para extrair os valores usando phpdotenv. Vamos adicionar uma chamada à biblioteca e modificar nosso programa de início rápido para que fique como o seguinte. Observe as alterações nas linhas 5, 6 e 9.
Em seguida, para garantir que você não esteja publicando suas credenciais em git ou em qualquer repositório de código-fonte que esteja usando, certifique-se de adicionar um .gitignore (ou equivalente) para evitar o armazenamento desse arquivo em seu repositório. Aqui está meu arquivo .gitignore:
Meu .gitignore inclui arquivos que são aproveitados como parte de nossas bibliotecas - eles não devem ser armazenados em nosso projeto.
Se quiser aproveitar os arquivos do meu projeto, fique à vontade para visitar meu repositório no github, clonar, bifurcar e compartilhar seus comentários na Comunidade.
Este início rápido teve o objetivo de preparar você para usar o PHP com o MongoDB. Agora você deve estar pronto para passar para o próximo artigo desta série. Sinta-se à vontade para me contatar na Comunidade se tiver alguma dúvida sobre este artigo ou qualquer coisa relacionada ao MongoDB.
Certifique-se de visitar, estrelar, bifurcar e clonar o repositório complementar deste artigo.

Referências


Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Início rápido
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Tutorial

Como criar um serviço de backend do Laravel + MongoDB


Aug 28, 2024 | 15 min read
Início rápido

Creating, Reading, Updating, and Deleting MongoDB Documents With PHP


Sep 11, 2024 | 8 min read
Podcast

Explorando o driver PHP com Jeremy Mikola - Episódio de podcast


Aug 28, 2024 | 29 min
exemplo de código

Go-FIFA


Jul 07, 2022 | 2 min read
Sumário