Pular para o conteúdo principal

PHP - Classes e objetos

Seguindo nosso aprendizado sobre PHP hoje veremos um pouco sobre classes e objetos. Neste post, vamos mostrar como usar classes e objetos no PHP incluindo exemplos práticos (você pode ver o que já publicamos sobre o PHP aqui).


Classes e objetos foram introduzidos no PHP a partir da versão 4, lançada em 2000, sendo isso um dos principais motivos para sua popularidade crescente como linguagem de programação para desenvolvimento web. Antes disso, o PHP era principalmente utilizado como linguagem de script para a criação de páginas dinâmicas.


Classes em PHP

Uma classe é um modelo para a criação de objetos. Ela define as propriedades (estado) e métodos (comportamento) dos objetos criados a partir dela. Por exemplo, a seguinte classe "Pessoa" define as propriedades "nome" e "idade" e o método "imprimirDados":

    
        class Pessoa {
                public $nome;
                public $idade;
                public function imprimirDados() {
                    echo "Nome: " . $this->nome . "\n";
                    echo "Idade: " . $this->idade . "\n";
                }
            }
    

Objetos em PHP

Os objetos são instâncias das classes. Eles possuem seus próprios valores para as propriedades e podem acessar os métodos da classe. Por exemplo, o seguinte código cria um objeto "pessoa1" a partir da classe "Pessoa" e preenche as propriedades "nome" e "idade" antes de chamar o método "imprimirDados":

    
        $pessoa1 = new Pessoa();
        $pessoa1->nome = "João";
        $pessoa1->idade = 30;
        $pessoa1->imprimirDados();
    

Outro exemplo seria criar uma classe automovel com atributos marca, modelo, ano de fabricação e cor, com metodos para acelerar e frear o carro.

    
        class Automovel {
            public $marca;
            public $modelo;
            public $ano;
            public $cor;
        
            public function __construct($marca, $modelo, $ano, $cor) {
                $this->marca = $marca;
                $this->modelo = $modelo;
                $this->ano = $ano;
                $this->cor = $cor;
            }
        
            public function acelerar() {
                echo "Acelerando...\n";
            }
        
            public function frear() {
                echo "Freando...\n";
            }
        }
        
        // Cria um novo objeto da classe Automovel
        $meuCarro = new Automovel("Ford", "Mustang", 2019, "Vermelho");
        
        // Exibe as informações do carro
        echo "Meu carro é um {$meuCarro->ano} {$meuCarro->marca} {$meuCarro->modelo} na cor {$meuCarro->cor}\n";
        
        // Acelera o carro
        $meuCarro->acelerar();
        
        // Freia o carro
        $meuCarro->frear();
        
    

Conclusão

Podemos concluir que a grande vantagem de trabalhar com classes e objetos em PHP é que elas permitem a organização e a reutilização do código. As classes fornecem uma estrutura para criar objetos que possuem propriedades e comportamentos específicos. Isso nos permite modelar os dados e lógica de negócios de maneira mais clara e organizada, tornando o código mais fácil de entender e manter. Além disso, as classes podem ser herdadas e reutilizadas em outras partes do código, o que ajuda a evitar a duplicação de código e acelerar o desenvolvimento.

Comentários

Mais visitadas

Aplicação Flask usando Nginx e Gunicorn

Aplicação Flask usando Nginx e Gunicorn Se você já desenvolveu uma aplicação Flask básica, sabe que o servidor de desenvolvimento embutido não é ideal para produção. Ele não é projetado para lidar com altos volumes de tráfego ou conexões simultâneas. Para tornar sua aplicação Flask mais robusta e pronta para produção, podemos usar o Gunicorn como servidor de aplicação e o Nginx como proxy reverso. Neste artigo, vamos adaptar o exemplo anterior ( Criando uma Aplicação CRUD com Flask, PostgreSQL e Docker ) para incluir o Nginx e o Gunicorn. O que são Nginx e Gunicorn? Gunicorn O Gunicorn (Green Unicorn) é um servidor de aplicação WSGI que roda aplicações Python como o Flask. Ele é eficiente e simples de configurar, lidando com múltiplas requisições ao mesmo tempo, algo que o servidor embutido do Flask não faz bem. Nginx O Nginx é um servidor web que atua como um proxy reverso. Ele recebe requisições HTTP e as encaminha ao Gunicorn. Além disso, o Nginx pode: Servir arquivos ...

Como Verificar se um Objeto Existe (Delphi)

Em alguns momentos surge a necessidade de verificar se um determinado objeto existe, ou seja se já foi criado, principalmente quando se trabalha com criação dinâmica em tempo de execução, então vamos ao exemplo: - Vamos criar uma variável, um vetor do tipo caixa de texto: var Minha_caixa : array of TEdit; - Em seguida definir o tamanho desse vetor, no caso será dez: setLength(Minha_caixa, 10) - Agora iremos criar nossa caixa de texto: // lembrando que o vetor inicia em zero // logo o índice final é o tamanho total - 1 for vl_i := 0 to Length(Minha_caixa) -1 do begin Minha_caixa[vl_i] := TEdit.Create(self); with Minha_caixa[vl_i] do begin Parent := Self; Name := 'Caixa_N'+IntToStr(vl_i); Text := 'Esta é a '+IntToStr(vl_i)+' º caixa !'; ReadOnly := true; Height := 21; Width := ...

Iniciar e Parar Serviços do Windows (Delphi)

Em certas ocasiões nos deparamos com a necessidade de manipular determinadas atividades do SO, como iniciar ou parar um banco de dados, ou qualquer outro serviço que esteja funcionando no momento. Segue abaixo um código que encontrei na Internet para tal finalidade (não me recordo à fonte, assim que eu a encontrar colocarei). Iniciar Serviço: uses WinSvc; // // start service // // return TRUE if successful // // sMachine: //   machine name, ie: \SERVER //   empty = local machine // // sService //   service name, ie: Alerter // function ServiceStart(   sMachine,   sService : string ) : boolean; var   //   // service control   // manager handle   schm,   //   // service handle   schs   : SC_Handle;   //   // service status   ss     : TServiceStatus;   //   // te...