Composer

<< Click to Display Table of Contents >>

Navigation:  Dicas >

Composer

Previous pageReturn to chapter overviewNext page

Estrutura

 

\composer.json        // criado pelo composer, mas deve ser editado
\index.php            // todos roxos são criados manuais
\vendor\autoload.php  // criado automaticamente no composer > install (não edite)
\vendor\composer\*    // criado automaticamente no composer > install (não edite)
\util\Config.php      // diretório util = diferente dos demais abaixo
\classes\Cliente.php
\classes\Usuario.php
\classes\model\Fornecedor.php  // sub-dir model

 

Observações

 

Sempre coloque os namespaces corretos

Faça sempre um botão direito no projeto composer > Validate após alterar algo no projeto

 

index.php

 

require __DIR__ . '/vendor/autoload.php';
 
$cli = new classes\Cliente();
$cli->setNome("Junior");
echo $cli->getNome();
 
$user = new classes\Usuario();
$user->setSenha("1234");
echo "<br>".$user->getSenha();
 
$forn = new classes\model\Fornecedor();
$forn->setRazao("TAZ");
echo "<br>".$forn->getRazao();
 
$conf = new util\Config();
$conf->setTipo("1");
echo "<br>".$conf->getTipo();

 

composer.json

 

{
    "name""vendor/aula2",
    "description""Description of project aula2.",
    "authors": [
        {
            "name""Junior",
            "email""junior@market.com.br"
        }
    ],
    "autoload": {
        "psr-4": {
            "classes\\""classes/",
            "util\\""util/"
        },        
        "files": [
            "classes/Cliente.php",
            "util/Config.php"
        ]
    },
    "require": {
    }
}

 

Cliente.php

 

namespace classes;
 
class Cliente {
    private $nome;
    
    public function getNome() {
        return $this->nome;
    }
 
    public function setNome($nome) {
        $this->nome = $nome;
    }
}

 

Usuario.php

 

namespace classes;
 
class Usuario {
 
    private $senha;
 
    public function getSenha(): string {
        return $this->senha;
    }
 
    public function setSenha(string $senha) {
        $this->senha = $senha;
    }
}

 

Fornecedor.php

 

namespace classes\model;
 
class Fornecedor {
 
    private $razao;
 
    public function getRazao(): string {
        return $this->razao;
    }
 
    public function setRazao(string $razao) {
        $this->razao = $razao;
    }
 
}

 

Config.php

 

namespace util;
 
class Config {
 
    private $tipo;
 
    public function getTipo(): string {
        return $this->tipo;
    }
 
    public function setTipo(string $tipo) {
        $this->tipo = $tipo;
    }
}