Tutorial PHP

PHP INÍCIO Introdução ao PHP Instalação do PHP Sintaxe PHP Comentários PHP Variáveis ​​PHP PHP Eco/Impressão Tipos de dados PHP Strings PHP Números PHP Matemática PHP Constantes PHP Operadores PHP PHP If...Else...Elseif Chave PHP Loops PHP Funções PHP Matrizes PHP PHP Superglobais PHP RegEx

Formulários PHP

Manipulação de formulários PHP Validação de formulário PHP Formulário PHP obrigatório URL/e-mail do formulário PHP Formulário PHP completo

PHP Avançado

Data e hora do PHP Incluir PHP Manipulação de arquivos PHP Arquivo PHP Abrir/Ler Arquivo PHP Criar/Gravar Upload de arquivo PHP Cookies PHP Sessões PHP Filtros PHP Filtros PHP Avançados Funções de retorno de chamada do PHP PHP JSON Exceções do PHP

PHP OOP

PHP O que é POO Classes/objetos PHP Construtor PHP Destruidor PHP Modificadores de acesso PHP Herança PHP Constantes PHP Classes abstratas PHP Interfaces PHP Características PHP Métodos estáticos PHP Propriedades estáticas do PHP Namespaces PHP Iteráveis ​​PHP

Banco de dados MySQL

Banco de dados MySQL MySQL Connect MySQL Criar banco de dados MySQL Criar Tabela Dados de inserção do MySQL MySQL Obter Último ID MySQL Inserir Múltiplo Preparado para MySQL Dados de seleção do MySQL MySQL Onde MySQL Ordenar por Dados de exclusão do MySQL Dados de atualização do MySQL Dados de limite do MySQL

PHP XML

Analisadores XML PHP Analisador PHP SimpleXML PHP SimpleXML - Obter PHP XML Expatriado PHP XML DOM

PHP - AJAX

Introdução AJAX PHP AJAX Banco de dados AJAX XML AJAX Pesquisa em tempo real AJAX Enquete AJAX

Exemplos PHP

Exemplos PHP Compilador PHP Teste PHP Exercícios PHP Certificado PHP

Referência PHP

Visão geral do PHP Matriz PHP Calendário PHP Data do PHP Diretório PHP Erro PHP Exceção PHP Sistema de arquivos PHP Filtro PHP PHP FTP PHP JSON Palavras-chave PHP PHP Libxml Correio PHP Matemática PHP PHP Diversos PHP MySQLi Rede PHP Controle de saída PHP PHP RegEx PHP SimpleXML Fluxo PHP String PHP Manipulação de variáveis ​​PHP Analisador XML PHP PHP Zip Fusos horários PHP

PHP OOP - Classes e Objetos


Uma classe é um modelo para objetos e um objeto é uma instância de classe.


Caso OOP

Vamos supor que temos uma classe chamada Fruit. Uma fruta pode ter propriedades como nome, cor, peso, etc. Podemos definir variáveis ​​como $nome, $cor e $peso para armazenar os valores dessas propriedades.

Quando os objetos individuais (maçã, banana, etc.) são criados, eles herdam todas as propriedades e comportamentos da classe, mas cada objeto terá valores diferentes para as propriedades.


Definir uma classe

Uma classe é definida usando a palavra- class chave, seguida pelo nome da classe e um par de chaves ({}). Todas as suas propriedades e métodos vão dentro das chaves:

Sintaxe

<?php
class Fruit {
  // code goes here...
}
?>

Abaixo declaramos uma classe chamada Fruit que consiste em duas propriedades ($name e $color) e dois métodos set_name() e get_name() para definir e obter a propriedade $name:

<?php
class Fruit {
  // Properties
  public $name;
  public $color;

  // Methods
  function set_name($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
}
?>

Nota: Em uma classe, as variáveis ​​são chamadas de propriedades e as funções são chamadas de métodos!


Definir objetos

Classes não são nada sem objetos! Podemos criar vários objetos de uma classe. Cada objeto tem todas as propriedades e métodos definidos na classe, mas eles terão valores de propriedade diferentes.

Os objetos de uma classe são criados usando a palavra- newchave.

No exemplo abaixo, $apple e $banana são instâncias da classe Fruit:

Exemplo

<?php
class Fruit {
  // Properties
  public $name;
  public $color;

  // Methods
  function set_name($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
}

$apple = new Fruit();
$banana = new Fruit();
$apple->set_name('Apple');
$banana->set_name('Banana');

echo $apple->get_name();
echo "<br>";
echo $banana->get_name();
?>

No exemplo abaixo, adicionamos mais dois métodos à classe Fruit, para definir e obter a propriedade $color:

Exemplo

<?php
class Fruit {
  // Properties
  public $name;
  public $color;

  // Methods
  function set_name($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
  function set_color($color) {
    $this->color = $color;
  }
  function get_color() {
    return $this->color;
  }
}

$apple = new Fruit();
$apple->set_name('Apple');
$apple->set_color('Red');
echo "Name: " . $apple->get_name();
echo "<br>";
echo "Color: " . $apple->get_color();
?>


PHP - A palavra-chave $this

A palavra-chave $this refere-se ao objeto atual e está disponível apenas dentro de métodos.

Observe o seguinte exemplo:

Exemplo

<?php
class Fruit {
  public $name;
}
$apple = new Fruit();
?>

Então, onde podemos alterar o valor da propriedade $name? Existem duas maneiras:

1. Dentro da classe (adicionando um método set_name() e usando $this):

Exemplo

<?php
class Fruit {
  public $name;
  function set_name($name) {
    $this->name = $name;
  }
}
$apple = new Fruit();
$apple->set_name("Apple");

echo $apple->name;
?>

2. Fora da classe (alterando diretamente o valor da propriedade):

Exemplo

<?php
class Fruit {
  public $name;
}
$apple = new Fruit();
$apple->name = "Apple";

echo $apple->name;
?>

PHP - instância de

Você pode usar a instanceofpalavra-chave para verificar se um objeto pertence a uma classe específica:

Exemplo

<?php
$apple = new Fruit();
var_dump($apple instanceof Fruit);
?>