Como criar um projeto PHP moderno com Composer (passo a passo)

Se você quer trabalhar com PHP moderno, precisa ter o Composer no seu dia a dia.
Ele é o “gerente de dependências” que organiza bibliotecas, autoload, versões e muito mais.

Neste guia, vou te mostrar de forma prática como:

  • instalar o Composer
  • criar um projeto do zero
  • organizar pastas
  • usar autoload pra carregar suas classes automaticamente

Mesmo que você nunca tenha usado o Composer, é só seguir os passos.


1. O que você precisa antes de começar

  • PHP instalado na máquina (PHP 8 de preferência)
  • Acesso ao terminal (cmd, PowerShell ou terminal do Linux/Mac)
  • Composer instalado (se ainda não tem, baixe em getcomposer.org, o instalador faz tudo sozinho)

Para verificar se o Composer está instalado, execute no terminal:

composer -V

Se aparecer algo como Composer version X.Y.Z, está tudo certo.


2. Criando a pasta do projeto

Escolha uma pasta no seu computador e crie o projeto, por exemplo:

mkdir meu-projeto-php
cd meu-projeto-php

É dentro dessa pasta que vamos montar tudo.


3. Iniciando o Composer no projeto

Dentro da pasta do projeto, execute:

composer init

Ele vai fazer algumas perguntas no terminal:

  • Package name (nome do pacote): você pode colocar algo como seunome/meu-projeto-php
  • Description: uma descrição simples
  • Author: seu nome
  • Pode dar Enter nas opções que não quiser mexer agora.

No final, ele vai criar um arquivo chamado composer.json na raiz do projeto.
Esse arquivo é o “coração” da sua configuração.


4. Criando a estrutura de pastas moderna

Vamos criar a estrutura padrão:

mkdir src
mkdir public

Fica assim:

meu-projeto-php/
  composer.json
  src/
  public/
  • src/ → seu código PHP (classes, regras de negócio)
  • public/ → arquivos acessíveis pelo navegador (index.php, assets, etc.)

5. Configurando o autoload (PSR-4)

No PHP moderno, você não fica dando require manual em cada arquivo.
Você configura o autoload no composer.json e deixa o Composer cuidar disso.

Abra o composer.json e adicione uma seção autoload assim:

{
    "name": "seunome/meu-projeto-php",
    "description": "Meu primeiro projeto PHP moderno",
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    },
    "require": {}
}

Isso significa:

  • Tudo que estiver no namespace App\ vai ser carregado a partir da pasta src/.

Depois, rode:

composer dump-autoload

Esse comando gera os arquivos necessários pro autoload funcionar.


6. Criando a primeira classe dentro de src/

Dentro da pasta src, crie um arquivo chamado Hello.php com o conteúdo:

<?php

namespace App;

class Hello
{
    public function saudacao(): string
    {
        return "Olá, mundo em PHP moderno!";
    }
}

Repare em três coisas:

  • namespace App; → bate com o autoload que definimos
  • A classe Hello está dentro da pasta src/
  • O método saudacao() tem tipo de retorno string

7. Criando o index.php na pasta public/

Agora vamos criar o arquivo que o navegador vai acessar.

Dentro de public/, crie index.php:

<?php

require __DIR__ . '/../vendor/autoload.php';

use App\Hello;

$hello = new Hello();

echo "<h1>" . $hello->saudacao() . "</h1>";

Aqui acontece a mágica:

  • require ../vendor/autoload.php → carrega automaticamente todas as classes do projeto
  • use App\Hello; → usamos a classe que criamos em src/Hello.php
  • Não precisa de require 'src/Hello.php'; manual

8. Rodando o projeto em um servidor embutido

Se você tiver PHP instalado, pode rodar um servidor local simples, assim:

No terminal, dentro da pasta do projeto:

php -S localhost:8000 -t public

Agora, abra o navegador em:

http://localhost:8000

Você deve ver a mensagem:

Olá, mundo em PHP moderno!

Se isso apareceu, parabéns: você acabou de criar seu primeiro projeto PHP moderno com Composer e autoload.


9. A partir daqui, como evoluir o projeto?

Você pode:

  • Criar novas classes em src/
  • Dividir em pastas, por exemplo:
    • src/Controller/
    • src/Model/
    • src/Service/
  • Instalar bibliotecas com composer require, por exemplo:
    • para enviar e-mail
    • fazer chamadas HTTP
    • lidar com datas, etc.

Cada nova classe dentro de src/ com namespace App\Algo poderá ser usada em qualquer lugar só com use App\Algo; e o autoload já cuida do resto.


Resumindo

  • Composer é essencial no PHP moderno.
  • Você organiza o código em src/ e public/.
  • Usa autoload pra não ficar dando require manual.
  • Em poucos passos você já tem uma estrutura parecida com projetos profissionais.

Em outro artigo, dá pra mostrar como começar a organizar controllers, services e até montar um mini MVC em cima dessa estrutura.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima